Диапазон значений типа char

Прежде всего, нам нужно знать, что определяет размер данных: это пространство памяти, принадлежащее их типу данных.

Когда мы знаем его тип данных, например:

int занимает 4 байта 

char составляет 1 байт

Таким образом, объем памяти, который у них есть (1 байт = 8 бит), то есть их двоичные биты, составляет:

int 32bit (32位): int: 1111 1111 1111 1111 1111 1111 1111 1111 (4 294 967 168)

символ 8 бит (8 位): символ: 1111 1111 (255)

Минимальное значение — 0.

То есть, когда знаковый бит не учитывается :

целое число: 0 ~ 4 294 967 168

символ: 0~255

Когда мы рассматриваем знаковый бит (первый бит двоичной системы), его максимальное и минимальное значения меняются:

Все возможности значения char:

0000 0000

0000 0001

.....

0111 1110

0111 1111 (это уже самое большое положительное число типа char, 127)

Добавьте 1, чтобы получить

1000 0000 (-128) Это фиксированное значение. Когда это число появляется в виде символа, оно будет непосредственно рассматриваться как -128.

1000 0001(-127)

Здесь хранится дополнительный код. Сначала преобразуйте его в исходный код 1111 1110, 1111 1111 (-127)

Примечание. Здесь нам нужно отличить печать от printf (сначала обновите, а затем посмотрите, хотите ли вы изменить блог).

.....

1111 1110

1111 1111 преобразуется в исходный код через дополнительный код 1000 0001, который равен -1.

Итак, из вышеизложенного мы можем сделать вывод, что

Диапазон значений типа знакового символа:  -128 ~ 127.

Прикрепил:

Как определить значение беззнакового символа, указав знаковый символ (для отрицательных чисел, не обязательно для положительных чисел):

нравиться:

Если вам дано -128, что нужно, чтобы преобразовать его в положительное число: 

Тогда можно пройти: 256 + это число 

256 + (-128) = 128

Та же самая причина 

- 92: Теперь 256 - 92 = 168.

С другой стороны, если вы хотите найти отрицательное число через положительное число, используйте 256 – положительное число: 256 – 168 = 92.

Вы также можете запомнить диапазон типов символов по следующей картинке:

77e38c248bbf4736860d8e7c5dbb0ddc.png

Сверхподробное описание языка C (включая интеллект-карты) было обновлено. Обратите внимание заранее, чтобы не заблудиться!

Supongo que te gusta

Origin blog.csdn.net/ZYK069/article/details/128628837
Recomendado
Clasificación