Целочислительные константы

Обычно, цифровые константы имеют основание 10, однако в некоторых случаях требуется другая система счисления

Основание Пример Формат Комментарий

10 (десятичное) 123 нет

2 (двоичное) B1111011 добавляем 'B' работает только с 8-бит значениями(0 до 255), допустимые символы 0 и 1

8 (восьмеричное) 0173 добавляем "0" допустимые символы 0-7

16 (шестнадцатеричное) 0x7B добавляем "0x" допустимые символы 0-9, A-F, a-f

 

Пример:

101 // равен числу 101 в десятичной системе счисления ((1 * 10^2) + (0 * 10^1) + 1)

B101 // равен числу 5 в десятичной системе счисления ((1 * 2^2) + (0 * 2^1) + 1)

Двоичный формат работает только для байт (8 бит), от 0 (B0) до 255 (B11111111). Если необходимо обработать в двоичном формате int (16бит) это можно сделать в два шага:

myInt = (B11001100 * 256) + B10101010; // B11001100 старший байт

0101 // равен числу 65 в десятичной системе счисления ((1 * 8^2) + (0 * 8^1) + 1)

 

Внимание:

Возможно создание труднонаходимой ошибки, записывая незначащие нули в старших разрядах - компилятор может ошибчно принять ваше число за восьмеричное.

0x101 // равен числу 257 в десятичной системе счисления ((1 * 16^2) + (0 * 16^1) + 1)

 

U & L форматы

По умолчанию, целочислительные константы объявлены как int с соответствующими ограничесниями. Для определения таких константс другим типом данных пользуются следующими форматами записи:

'u' или 'U' определяет константу как положительную (unsigned). Например: 33u

'l' или 'L' определяет костанту в формат long. Пример: 100000L

'ul' или 'UL' определяет константу в формат unsigned long. Пример: 32767ul

 








Дата добавления: 2015-03-23; просмотров: 860;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.