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

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

Войти
Регистрация
Восстановить пароль
 
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
#1

8-битовый тип signed char может представлять значения от -128 до 127 - C++

31.01.2013, 18:17. Просмотров 579. Ответов 8
Метки нет (Все метки)

8-битовый тип signed char может представлять значения от -128 до 127

Кто может растолковать как это понимать, от 128 до 127 - тоесть может приримать только одно значение
или от 0 до 127 - 128 значений ?

Или все же одно значение + или - .
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2013, 18:17     8-битовый тип signed char может представлять значения от -128 до 127
Посмотрите здесь:

C++ Тип char.Signed/unsigned.Отличие типов данных.
C++ Тип char ошыбка в обьявлении исправте хто может
Запись в char числа <-128 C++
C++ Разница между char и signed char
Напишите программу, присваивающую значения элементов списка указателей на символьные строки в стиле С (тип char* ) элементам вектора строк C++
C++ Значения типов данных (signed, unsigned, char)
Как в signed char помещается диапазон -128,127 ведь если 127 это 01111111, то -127 должно быть 11111111 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Форумчанин
Эксперт С++
 Аватар для Kastaneda
4253 / 2785 / 219
Регистрация: 12.12.2009
Сообщений: 7,109
Записей в блоге: 1
Завершенные тесты: 1
31.01.2013, 18:20     8-битовый тип signed char может представлять значения от -128 до 127 #2
Всего 256 значений. Если подразумевается беззнаковое число, то от 0 до 255, если знаковое, то старший бит отвечает за знак, таким образом имеем 7 бит для кодирования числа, т.е. от -128 до 127.

Добавлено через 36 секунд
тут надо разобраться с представлением чисел в двоичной системе, чтоб понять это.
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
31.01.2013, 19:07  [ТС]     8-битовый тип signed char может представлять значения от -128 до 127 #3
Цитата Сообщение от Kastaneda Посмотреть сообщение
таким образом имеем 7 бит для кодирования числа, т.е. от -128 до 127.

Хорошо первый левый бит хранит знак, да, остается 7 бит , так да, которые могут принимать значения от 0 до 128 или 127, так это понимать, или от 128 до 127 имеет другой здесь смысл
MasterJack
1 / 1 / 0
Регистрация: 30.01.2013
Сообщений: 8
31.01.2013, 19:16     8-битовый тип signed char может представлять значения от -128 до 127 #4
Цитата Сообщение от I love myguitar Посмотреть сообщение
Кто может растолковать как это понимать, от 128 до 127 - тоесть может приримать только одно значение или от 0 до 127 - 128 значений ?
одно значение в диапазоне от -128 до 127
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
31.01.2013, 19:27  [ТС]     8-битовый тип signed char может представлять значения от -128 до 127 #5
одно значение в диапазоне от -128 до 127
Это я и хотел понять.

А что же делают тогда остальные 7 бит и почему именно от 128 до 127, а не от 52 до 53 ?
IamRain
 Аватар для IamRain
947 / 860 / 204
Регистрация: 02.08.2011
Сообщений: 2,657
31.01.2013, 19:37     8-битовый тип signed char может представлять значения от -128 до 127 #6
2^7 = 128 значений. Число оставшихся возможных значение, которые можно закодировать.
старший бит -1 - от -1 до -128.
старший бит 0 - от 0 до 127.
I love myguitar
4 / 4 / 1
Регистрация: 23.10.2012
Сообщений: 233
31.01.2013, 19:44  [ТС]     8-битовый тип signed char может представлять значения от -128 до 127 #7
теперь еще понятней
Evg
31.01.2013, 20:29
  #8

Не по теме:

Для человека с таким низким уровнем познаний в программировании очень и очень похвально то, что вопросы ставятся очень грамотно: коротко и конкретно

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2013, 20:53     8-битовый тип signed char может представлять значения от -128 до 127
Еще ссылки по теме:

Почему тип char не может делать вот так += C++
C++ Надо перевести переменную типа unsigned char* в signed int и обратно
C++ Почему в setnamedisc нужно использовать char * для установки значения, а при возвращении значения тип метода должен быть char* ?
C++ Почему тип входящего параметра функции может отличаться от типа возвращаемого значения?
C++ Проверить, может ли массив представлять бинарную кучу

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

Или воспользуйтесь поиском по форуму:
go
Эксперт C++
3584 / 1364 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
31.01.2013, 20:53     8-битовый тип signed char может представлять значения от -128 до 127 #9
I love myguitar, не забывайте, что отрицательные числа хранятся в дополнительном коде.
Цитата Сообщение от I love myguitar Посмотреть сообщение
128 до 127
Теперь я думаю ясно, почему различаются пределы.
Yandex
Объявления
31.01.2013, 20:53     8-битовый тип signed char может представлять значения от -128 до 127
Ответ Создать тему
Опции темы

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