Я перехожу к некоторой ревизии, и я наткнулся на вопрос, который задал вопрос о том, что такое 10011001 в значении integer и unsigned. Я знаю, что целое число без знака равно 153, потому что нет никаких отрицаний в целых числах без знака, но могу ли я сказать, что целое число со знаком 10011001 равно -153 или я ошибаюсь?Подписанные и незаписанные целые числа
1
A
ответ
1
Это различие между беззнаковым и подписанным номером состоит в том, что один из бит используется для обозначения положительного или отрицательного числа.
Так что в вашем примере у вас есть 8 бит.
Если я лечить как подписан, то у меня 7 битов, чтобы работать с: 2^7
- 000 0000 = 0
- 111 1111 = 127
- 001 1001 = 25, то наиболее Значительный бит вызывает следующее вычисление.
- (25 - 128) = -103
Если я использую все 8 бит без знака, то я биты для работы с: 2^8
- 0000 0000 = 0
- 1111 1111 = 255
- 1001 1001 = 153
Вот код, чтобы продемонстрировать ответ:
char *endptr;
char binary[11] = "10011001"; // need an extra char for the termination
char x = (char)strtol(binary, &endptr, 2);
unsigned char y = (unsigned char)strtol(binary, &endptr, 2);
printf("%s to signed char (1 byte): %i\n", binary, (short)x);
printf("%s to unsigned char (1 byte): %u\n", binary, y);
Выход:
Смежные вопросы
- 1. Подписанные и незаписанные целые числа в Ruby
- 2. Подписанные и незаписанные биты
- 3. Беззнаковые и подписанные целые числа в C
- 4. Целые числа, подписанные Nginx, CVE-2013-2028
- 5. Добавление в беззнаковые и подписанные двоичные целые числа
- 6. Подписанные целые числа без знака для длин/отсчетов
- 7. Целые числа и вычисления
- 8. Отрицательные целые числа> Положительные целые числа?
- 9. Умножая числа и целые числа в Python
- 10. Чтение hexdump: целые числа и числа
- 11. Целые числа и области применения
- 12. длинные целые числа и nscala_time
- 13. Строки ввода и целые числа
- 14. Когерентные целые числа и модуль
- 15. Суммы и целые числа Matlab
- 16. Как проверить, содержит ли массив целые числа или целые числа
- 17. haxe: целые целые числа для абстрактных Int64
- 18. ifstream случайные целые числа?
- 19. Различные целые числа? C#
- 20. Псевдослучайные целые числа
- 21. Непрерывные целые числа
- 22. Луа - Обнаружение целые числа
- 23. Целые числа в BASIC
- 24. Целые числа из строк
- 25. Python Бесконечные целые числа
- 26. Статические целые числа
- 27. Целочисленные целые числа
- 28. Средние случайные целые числа
- 29. Validate целые положительные числа
- 30. KDTree двойные целые числа
поэтому ответ -25? – mdbuzz
Мои расчеты неверны. Я обновил свой ответ. –