StartprogrammingusingObjectPascal:SubTypes
하위 형식
변수에 대해 여러가지 하위 형식이 존재하는데, 예를 들자면, 정수 숫자의 하위 형식은 범위와 메모리에 값을 저장하는데 필요한 바이트 수에 차이를 두고 있습니다.
다음 표에서는 정수 형식, 값의 범위 그리고 메모리에 필요한 바이트 수가 있습니다.
형식 | 최소값 | 최대값 | 바이트 크기 |
Byte | 0 | 255 | 1 |
ShortInt | -128 | 127 | 1 |
SmallInt | -32768 | 32767 | 2 |
Word | 0 | 65535 | 2 |
Integer | -2147483648 | 2147483647 | 4 |
LongInt | -2147483648 | 2147483647 | 4 |
Cardinal | 0 | 4294967295 | 4 |
Int64 | -9223372036854780000 | 9223372036854775807 | 8 |
아래 예제와 같이, Low, High 그리고 SizeOf 함수를 사용하여, 각각의 함수들로부터 제각각의 하위 형식에 대한 최소, 최대값과 바이트 크기를 가져올 수 있습니다.
Program Types;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
begin
Writeln(‘Byte: Size = ’, SizeOf(Byte),
‘, Minimum value = ‘, Low(Byte), ‘ Maximum value = ‘,
High(Byte));
Writeln(‘Integer: Size = ’, SizeOf(Integer),
‘, Minimum value = ‘, Low(Integer), ‘ Maximum value = ‘,
High(Integer));
Write(‘Press enter key to close’);
Readln;
end.