single은 32비트 format이기 때문에
가장 앞자리 sign bit 인 S(1 bit) 를 제외한 나머지 31비트가
exponent(지수부분) 8 bit, fraction(소수점 아래 부분) 23 bit로 표현하는 것이고,
double은
exponent 11 bit, fraction 52 bit로 표현하는 것이다.
exponent는 unsigned 이며 읽어올 때 -127을 한 수를 읽어오기 때문에 실제 값에서 127을 더해서 저장되게 된다.
fraction은 말 그대로 소수점 아래 부분을 의미하며, 1.xxx 의 1을 제외한 xxx 부분만 저장된다.
저장 공간을 조금이라도 더 쓰기위한 발악이라고 보면 될 거 같다
만약 1.0101011 * 2^5 이라는 숫자가 있으면
exponent 부분에는 132, fraction 부분에는 000...00101011 (0의 갯수는 비트수에 따라 다를것임) 이 들어갈 것이다.
'Study' 카테고리의 다른 글
[AWS] AWS에 JDK 1.8 및 tomcat8 설치하기 (0) | 2015.09.13 |
---|---|
[AWS / ORACLE ] Oracle 최초설정 참고자료 (0) | 2015.09.13 |
[AWS] AWS에 Oracle 설치하기 (0) | 2015.09.12 |
[컴퓨터 구조]checking overflow in two's complement (0) | 2015.08.15 |
[컴퓨터 구조]Addressing Mode 종류 (0) | 2015.08.15 |