Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
h3mbr0
212 / 55 / 13
Регистрация: 12.03.2012
Сообщений: 287
#1

Как в signed char помещается диапазон -128,127 ведь если 127 это 01111111, то -127 должно быть 11111111 - C++

29.08.2012, 22:41. Просмотров 1873. Ответов 23
Метки нет (Все метки)

Добрый вечер! ломаю голову над тем, как в signed char помещается диапазон -128,127 ведь если 127 это 01111111, то -127 должно быть 11111111, а чему же тогда равно -128 в binary?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2012, 22:41     Как в signed char помещается диапазон -128,127 ведь если 127 это 01111111, то -127 должно быть 11111111
Посмотрите здесь:
C++ 8-битовый тип signed char может представлять значения от -128 до 127
C++ Вывод символов выше 127 (математические, немецкие и т.п)
C++ Что означает сообщение компилятора code block Process terminated with status 127
C++ Определить число полученное выписыванием в обратном порядке цифр заданного треьохзначного числа(721-127)
Диапазон чисел - вывести по порядку, указывая сколько строк должно быть C++
C++ Разница между char и signed char
Как понять следующую запись (signed char const ix(delta_x > 0) - (delta_x < 0)? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
30.08.2012, 01:27     Как в signed char помещается диапазон -128,127 ведь если 127 это 01111111, то -127 должно быть 11111111
  #16

Не по теме:

Цитата Сообщение от alex_x_x Посмотреть сообщение
-128 и не входит
диапозон -127,0,+127
Код Bash
- 127 *- 11111111
- 1 * *- 10000001
* 0 * *- 00000000
* 1 * *- 00000001
* 127 *- 01111111
- calc.exe считает 11111111 как 255 (так просто к слову)
Немножко не в ту степь, но для прикола сойдёт
http://liveworkspace.org/code/ce5a8f...4d008f8b36cb76

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
30.08.2012, 01:33     Как в signed char помещается диапазон -128,127 ведь если 127 это 01111111, то -127 должно быть 11111111 #17
Дело в том, что у calc'a 64-битное целое, поэтому чтобы получить -1 надо ввести 64 двоичных единицы.
А теперь попробуйте ввести -1 в десятичной системе счисления и посмотрите на результат - там будут те же самые 11111111 (с поправкой на разрядность целочисленного типа, у калькулятора 8-байтовые целые, а мы тут говорили об однобайтовых char'ах).
-=ЮрА=-
30.08.2012, 01:43
  #18

Не по теме:

Герц,

Цитата Сообщение от Герц Посмотреть сообщение
А теперь попробуйте ввести -1 в десятичной системе счисления и посмотрите на результат - там будут те же самые 11111111
-1 в бинарке от calc.exe
1111111111111111111111111111111111111111111111111111111111111111

alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
30.08.2012, 01:46     Как в signed char помещается диапазон -128,127 ведь если 127 это 01111111, то -127 должно быть 11111111 #19
-=ЮрА=-, так это к началу темы (то о чем я уже позабыл) - есть разные формы представления отрицательных двоичных чисел
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
30.08.2012, 02:08     Как в signed char помещается диапазон -128,127 ведь если 127 это 01111111, то -127 должно быть 11111111 #20
-=ЮрА=-, то что в скобках написано ты видимо не прочел?
Выбери "1 байт" чекбокс в левом нижнем углу калькулятора.
jessekid
0 / 0 / 0
Регистрация: 27.08.2013
Сообщений: 9
15.10.2013, 11:08     Как в signed char помещается диапазон -128,127 ведь если 127 это 01111111, то -127 должно быть 11111111 #21
И все-таки я не понял(( -127 это 11111111(в прямом), 10000000(в обратном), 10000001(в дополнительном)
Дадут мне число 1000 0001 в доп коде и я через формулу Доп.код = Обратн + 1. покажу что это -127 т спокойно запихаю это число в signed char. А с -128 как быть??? В википедии про доп.код. есть табличка. там -128 в доп. коде есть а в дургих нет. Не могу понять как -128 может залезть в signed char
jessekid
0 / 0 / 0
Регистрация: 27.08.2013
Сообщений: 9
22.10.2013, 19:03     Как в signed char помещается диапазон -128,127 ведь если 127 это 01111111, то -127 должно быть 11111111 #22
тема актуальна
jessekid
0 / 0 / 0
Регистрация: 27.08.2013
Сообщений: 9
03.07.2014, 17:24     Как в signed char помещается диапазон -128,127 ведь если 127 это 01111111, то -127 должно быть 11111111 #23
актуально
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2014, 19:21     Как в signed char помещается диапазон -128,127 ведь если 127 это 01111111, то -127 должно быть 11111111
Еще ссылки по теме:
C++ Значения типов данных (signed, unsigned, char)
C++ Тип char.Signed/unsigned.Отличие типов данных.
Найти номер наименьшего положительного числа в заданной последовательности. Если в ней отсутствуют положительные числа, ответом должно быть -1 C++
C++ Надо перевести переменную типа unsigned char* в signed int и обратно
C++ 11.196. Дан массив целых чисел. Найти номер первого элемента, кратного числу 13. Если таких элементов в массиве нет, то должно быть напечатано соответ

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Jewbacabra
Эксперт PHP
2267 / 1931 / 723
Регистрация: 24.04.2014
Сообщений: 5,629
03.07.2014, 19:21     Как в signed char помещается диапазон -128,127 ведь если 127 это 01111111, то -127 должно быть 11111111 #24
Цитата Сообщение от jessekid Посмотреть сообщение
Не могу понять как -128 может залезть в signed char
-128 представляется как 1000 0000 в дополнительном коде, в других вариантах не поместится
Yandex
Объявления
03.07.2014, 19:21     Как в signed char помещается диапазон -128,127 ведь если 127 это 01111111, то -127 должно быть 11111111
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru