Ответы

Подскажите пожалуйста знающие люди, по поводу C++ в нем есть тип char и по умолчанию он unsignad я так понял

а на практпрактике хоть раз ктото применял unsignad char или signad char Если да приведите пример (заранее спасибо) З.Ы. всмысле имеет ли значение знаковость на практике )

По дате
По рейтингу
Аватар пользователя
Знаток
13лет

Если не используются доп. ключи компиляции а-ля -funsigned-char для gcc, то char по-умолчанию как-раз signed. На практике знаковость естественно имеет огромное значение. unsigned и signed указывает компилятору каким образом рассматривать значение данной переменной при арифметических операциях. Отличия в том, что старший бит в случае signed рассматривается компилятором как знак, т. е. если там 1, значит число отрицательное, 0 - положительное -> на само значение остаётся 7 бит, вместо 8-ми как в unsigned. Именно поэтому в unsigned char можно запихать значения от 0 до 255, а в signed -128 до 127.

Аватар пользователя
Мастер
13лет

как раз-таки по умолчанию signed, поэтому могут быть ошибки при работе с ним, как с byte.
Значение большое.
unsigned имеет диапазон 0-255
signed -128 - 127
Поэтому при сравнениях могут появиться неявные ошибки

Аватар пользователя
Гений
13лет

По умолчанию он не signed и не unsigned, просто char. Так что всего в C++ три основных типа, не считая еще дополнительных для unicode и так далее. В С иначе.

Аватар пользователя
Ученик
13лет

всмысле имеет ли? если вам важна память, то да.