Форум программистов, компьютерный форум, киберфорум
Наши страницы

Вывод числа в 16-ричной форме - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Классы http://www.cyberforum.ru/cpp-beginners/thread520006.html
Разработать консольную программу на языке С++, в которой необходимо определить базовый класс и на его основе производные классы. Кроме закрытых полей с данными в классах должны быть методы доступа,...
C++ Длинные числа Надо реализовать 2 класса: длинное целое Int8192 и с плавающей запятой Floa8192. Int8192 имеет разрядность 8192 бита, внутреннее представление - сырой массив байт, весь массив интерпретируется как... http://www.cyberforum.ru/cpp-beginners/thread519993.html
Показывать bmp из файла C++
Пытаюсь заставить показать в окне картинку bmp из указанного файла. Есть полностью работоспособная программа, которая из ресурсов показывает все как надо. Конкретно связка CBitmap с ресурсом...
C++ Переписать данные файла input.txt в output.txt, отсортировав их
Прошу помочь с заданием. В файле input.xtx содержатся сведения о группе студентов в формате: 1.номер группы; 2. запись о каждом студенте группы, которая содержит следующие сведения:фамилия, имя,...
C++ Определить номер недели в году http://www.cyberforum.ru/cpp-beginners/thread519970.html
Нужно определять номер недели в году, с учетом того, что первая неделя начинается 1го января. Можно ли как то перевести номер дня с начала года в номера недели? Были пару вариантов, но точно...
C++ Программа для анализа русских/английских текстов Уфф, в общем я студент-самоучка, пытаюсь охватить побольше теории, но с практикой дело у меня идёт не очень активно. Тк мой код никто кроме препода с первого курса больше не видел(сейчас на втором),... подробнее

Показать сообщение отдельно
Hemull
47 / 47 / 1
Регистрация: 12.03.2012
Сообщений: 108
16.03.2012, 12:03
вот что по этому поводу пишет вики

Например, рассмотрим реализацию Си, где тип char знаковый и имеет размер 8 бит, тип int имеет размер 32 бит, используется дополнительный способ кодирования отрицательных целых.

C++
1
2
char c = 255;
printf("%X", c);
Такой вызов даст вывод FFFFFFFF, что, возможно, не то, чего ожидал программист. Действительно, значение c равно (char)(-1), а после продвижения типа оно оказывается равно -1. Применение формата %X вызывает интерпретацию данного значения как беззнакового, то есть, 0xFFFFFFFF.

C++
1
2
char c = 255;
printf("%X", (unsigned char)c);
C++
1
2
char c = 255;
printf("%hhX", c);
Эти два вызова имеют один и тот же эффект и дают вывод FF. Первый вариант позволяет избежать размножения знака при продвижении типа, второй — компенсирует его уже «внутри» функции printf.
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.