int10진수
최대 : 2147483647
최소 : -2147483648
지수표현
최대 : 2^31 - 1
최소 : -2^31
하드웨어 용량
최대 : 2 GB - 1 BYTE
최소 : -2 GB
시간 (sec)
최대 : 68년 35일 3시간 14분 7초
최소 : -( 68년 35일 3시간 14분 8초 )
시간 (ms)
최대 : 24일 20시간 31분 23초 647밀리세컨드
최소 : -24일 20시간 31분 23초 648밀리세컨드
uint10진수
최대 : 4294967295 ( int.MAX_VALUE*2 + 1 )
최소 : 0.
지수표현
최대 : 2^32 - 1
최소 : 0
하드웨어 용량
최대 : 4 GB - 1 BYTE
최소 : 0 BYTE
시간 (second)
최대 : 136년 70일 6시간 28분 15초
최소 : 0초.
시간 (ms)
최대 : 49일 17시간 2분 47초 295밀리세컨드
최소 : 0밀리세컨드
NumberNumber 는 지수 + 소수 로 이뤄진 표현법이기 때문에
어느 값 이상부터는 지수로 표현법이 넘어가서 주의해야
한다.
지수 표현법
Number 는
IEEE 754 Standard 규약을 따라
Double Precision 표기법에 따라
64비트 중
1 bit - 음수/양수 나타내주는 비트 (1이면 음수, 0이면 양수)
11 bit - 지수.
52 bit - 소수.
즉, 1은 1e+0 (1 * 10의 0승) 으로 표현되고
최대값인 1.79e+308 은
지수 부분인 11bit 에 1111 1111 110 이 저장되고 (모두 1이면 무한대를 의미)
소수 부분인 52bit 에 모두 1이 저장된 값이
바로 1.79e+308 인 것이다.
이 이야기는 지수부분으로 표현이 되면
123 은 1.23e+2 으로 표현이 되어서 1을 더해도 1.24e+2 로 올바로 저장이 되지만
굉장히 큰 수 12345678901234567890 (0~9 두번 반복) 은
1.23e+19 로 표현이 되어서 1을 더한다고 하더라도
1.23e+19 로 인식이 된다.
테스트코드
var i: Number = 12345678901234567890; var b: Number = i + 1; trace( i == b ); // true, WTF? | |
가장 큰 값은 1.79e+308 (1.79 * 10^308) 이라는 어마어마한 값을 저장할 수 있다.
이는 용량으로 봤을때는 기가, 테라, 페타, 요타를 다 뛰어넘는 값까지 저장할 수 있다.
즉 굉장히 큰 수(
innumerable)를 수를 다룰때는 적당하지만
디테일한 수를 비교하기에는 적합하지 않다.
Trackback URL : http://wooyaggo.tistory.com/trackback/146