5.625를 메모리에 저장한다고 치자.
2진수로 변환하면
일단 5 부터 = 2로 슝슝 나누어서 나머지 역으로 보면 101이 나온다.
아니면 1 2 4 8 로 자리수가 나가니까
1 4 만 켜주면 되니까 101
0.625는 2를 곱해서 정수가 되는 넘만 적는다.
0.625*2 = 1.250
0.250*2 = 0.500
0.500*2 = 1
정수자리면 보면 101
그래서
101.101이 된다.
지수형태로 나타나면 .을 앞으로 땡기고
1.01101 * 2 * 2
가 된다. 뭐 2진수에 2자리 앞으로 땡겼으니까.
메모리 저장할 때는
부호부(sign bit) 1 bit
지수부(exponent bit) 8 bits
가수부(mantissa bits) 23bits
유효자리수(precision) 6~7
로 구성된다.
float 일 때, double일 때는 1, 11, 52, 15~16 이다.
위에서 지수부는 2*2 에서 2 이다. 앞에 2는 2진수를 뜻하고 뒤에 2가 가수부니까.
거기다가 127을 더한다. 이유는 음/양을 구분해야 하는데
8비트 전부 1을 써 넣으면 11111111 = 255 이기 때문에 중간값인 127을 넣는 것이다.
즉 127은 0을 뜻한다. 127+2 하니까 2가 되고 만약 127을 보다 낮은 값이면 음수란 거다.
지수부가 음수란 뜻이쥥... -> 점(.) 찍는 곳이 좌측이 아니라 우측으로 간다는 소리.
double형은 1023을 더한다.
가수부에 소수점 자리가 저장된다.
01101이 저장되겠지. 0.625 는 깔끔하지만 2를 계속 곱해도 안끝나는 녀석이 생기게 나름이다.
그래서 실수는 오차가 난다.(결론)
2011년 2월 24일 목요일
피드 구독하기:
댓글 (Atom)
UPBIT is a South Korean company, and people died of suicide cause of coin investment.
UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...
-
프루나는 이제 믿을만한 공유가 안되고 있다. 젠장. 영화 다운 받아보면 전부 야동이나 포르노류 밖에는 없다. 신고되어 있는 자료부터 보지만 신고가 안되어 있는 것은 제대로 다운도 되지 않는다. 이젠 유료 사이트를 믿을 수 밖엔... ...
-
Intel의 새로운 MMX - "KNI" KNI 는 Katmai New Instruction 의 약자이다 . 아는 분들은 잘 알고있겠지만 KATMAI( 이하 카트마이로 부름 ) 는 인텔의 다음번 펜티엄...
-
C:\program files\ 베이비론 폴더가 있다. 브라우저 창 다닫고 지우고 다시 실행하면 없어진다.
댓글 없음:
댓글 쓰기
국정원의 댓글 공작을 지탄합니다.