В С++ типы переменных можно превращать в без знаковые т. е тип int имеет диапазон от -2 147 483 648 до 2 147 483 648, а если добавить приставку usingned int то диапазон "увеличится" и станет от 0 до 4 294 987 295.
usingned удобно использовать, когда уверен что переменная не будет иметь отрицательного значения.
Так вот.. . Есть ли в Паскале что то подобное?
Другие языки программирования и технологии
Вопрос по типам переменных С++ и Pascal
Зависит от реализации. К примеру, Free Pascal, целочисленные типы данных:
Byte 0 .. 255 1
Shortint -128 .. 127 1
Smallint -32768 .. 32767 2
Word 0 .. 65535 2
Integer smallint or longint 2 or 4
Cardinal longword 4
Longint -2147483648 .. 2147483647 4
Longword 0..4294967295 4
Int64 -9223372036854775808 .. 9223372036854775807 8
QWord 0 .. 18446744073709551615 8
TP:
Shortint -128..127 Знаковый 8 бит
Integer -32768..32767 Знаковый 16 бит
Longint -2147483648..2147483647 Знаковый 32 бита
Byte 0..255 Беззнаковый 8 бит
Word 0..65535 Беззнаковый 16 бит
Как видишь, есть как знаковые, так и беззнаковые типы. Но в случае с turbo pascal, нет беззнакового типа максимальной разрядности в 32 бита.
Byte 0 .. 255 1
Shortint -128 .. 127 1
Smallint -32768 .. 32767 2
Word 0 .. 65535 2
Integer smallint or longint 2 or 4
Cardinal longword 4
Longint -2147483648 .. 2147483647 4
Longword 0..4294967295 4
Int64 -9223372036854775808 .. 9223372036854775807 8
QWord 0 .. 18446744073709551615 8
TP:
Shortint -128..127 Знаковый 8 бит
Integer -32768..32767 Знаковый 16 бит
Longint -2147483648..2147483647 Знаковый 32 бита
Byte 0..255 Беззнаковый 8 бит
Word 0..65535 Беззнаковый 16 бит
Как видишь, есть как знаковые, так и беззнаковые типы. Но в случае с turbo pascal, нет беззнакового типа максимальной разрядности в 32 бита.
Аффтар таким образом не увеличивает диапазон значений переменной, а предвращает его в беззнаковое, но диапазон остаётся тот-же!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Добавлю к ответу ra:
В Turbo Pascal и Dephi есть служебное слово absolute, которое создаёт абсолютную ссылку одной переменной на другую.
К примеру, в ТР я очень часто пользовался следующим описанием переменной:
var Str : String; L : Byte absolute Str;
Т. е. в дальнейшем коде можно спокойно обходиться без функции Length, ибо значение переменной L всегда возвращает длину строки.. .
Аналогично можно в Delphi объявить:
var Ivar : Integer; Lvar : Longword absolute Ivar;
Но нужно не забывать, что если Lvar = 2147483648, то Ivar уже примет отрицательное значение.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Добавлю к ответу ra:
В Turbo Pascal и Dephi есть служебное слово absolute, которое создаёт абсолютную ссылку одной переменной на другую.
К примеру, в ТР я очень часто пользовался следующим описанием переменной:
var Str : String; L : Byte absolute Str;
Т. е. в дальнейшем коде можно спокойно обходиться без функции Length, ибо значение переменной L всегда возвращает длину строки.. .
Аналогично можно в Delphi объявить:
var Ivar : Integer; Lvar : Longword absolute Ivar;
Но нужно не забывать, что если Lvar = 2147483648, то Ivar уже примет отрицательное значение.
Longint в паскале самый большой.
Нет. Там всё имя типа меняется целиком.
Похожие вопросы
- Помогите с программой по языку Pascal, задание на записи (комбинированный тип переменной).
- Как вернуть значение переменной присвоенное ранее? Pascal
- Как правильней сменить тип переменной ?
- С++, объект класса, экземпляр класса, какой тип переменной хранит экземпляр класса? (экземпляр это что? Word, lpstr..?)
- Значит такой вопрос. Для чего нужен компилятор Free pascal. Не я понимаю что это язык программирования и...
- Спецификаторы типов переменных
- Определить тип переменных b: integer:
- C++. Можно сделать так, что бы тип переменной определялся сам? (Калькулятор) ...
- Как онулировать тип переменной char например был lol[3]="cok" а стал просто lol[3]?
- Вопрос про типы данных