Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Розмерность типов

Автор: RathaR 21.07.2009 2:58

Вот интересно стало:
ShortInt : -128 до 127 занимает 8 бит
Integer : -32768 до 32767 занимает 16 бит
LongInt : -2147483648 до 2147483647 занимает 32 бита

Откудова взялись ети значения(-32768 до 32767и др.)?
Аналогичный вопрос и для типов real smile.gif

и еще вопрос, когда при описании переменной стринг в кв. скобках задать ей максимальный размер, например:


var
S:string[20]


она будет занимать меньше места, чем если её длинну не описывать?
Буду очень рад услышать пояснения rolleyes.gif

Автор: volvo 21.07.2009 3:28

Цитата
Откудова взялись ети значения
Сам же говоришь, что 16 бит... Один - знаковый, 15 - для представления числа... Чему равно 215? smile.gif Аналогично и с остальными целочисленными типами. С real все немного сложнее, поищи на форуме, здесь приводились форматы хранения вещественных чисел. Ну, или Гугле посмотри насчет 48-битного вещественного числа (это собственно Real), и насчет IEEE (там описаны остальные вещественные форматы)

Цитата
она будет занимать меньше места, чем если её длинну не описывать?
Да, String без указания длины эквивалентен описанию String[255]

Автор: Archon 24.07.2009 8:52

Если просто отвести один бит под знак, то число 0 может быть представлено двояко (плюс и минус 0), что неудобно. Поэтому, для хранения отрицательных чисел используется http://ru.wikipedia.org/wiki/Дополнительный_код_(представление_числа). Вот почему модуль минимального отрицательного числа на единицу больше максимального положительного.

Автор: Altair 3.08.2009 1:42

 ! 
Пиши грамотнее!
Что за "розмерность"?