지난 시간에 이어서 고정 소수점에 대해서 다시한번 알아보고 가자!
일단 고정소수점을 보았지
고정소수점은 정수표현으로 두가지 표현식이 있었는데
1. Pack형
부호 + 는 C = (1100) , - 는 D = (1101)
로 해서 만약에 -632가 있으면 632D 이다
그리고
2. Unpack형
Zone형이라고도 하며 예 -632이면
F6F3D2이로 표현이 되는것이 Unpack형이였다
여기까지는 10진 표현이였고 2진표현에 대해서 알아보자
2진표현에는 2진연산이라고해서 맨앞에 sign bit는 부호다
이렇게 표현하는데
양수로 표현했을 때는 0을 부호 비트에 넣는다 2진수 값을 data bit의 오른쪽에서 왼쪽 순으로 차례대로 채우고 남은 자리를 0을 채운다
예를 들어서 +8 이면
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
그리고 여기서
부호의 절대값 위에 것이 절대값이고
부호의 1의 보수
부호의 2의 보수가 있다
예를 들면
부호의 절대값 10011001 이 있다 그러면
부호의 1의보수는 부호의 값만 유지 시켜주고 나머지는 0은 1로 1은 0으로 변환시켜 준다
그러면 값은 11100110 이 된다
그러면 부호의 2의 보수는? 1의 보수값으로 된 것을 +1 해주면 된다
그러면 값은 11100111이된다 참 쉽다
그렇다면 이러한 부절, 부호 1의보수와 부호 2의보수는 각자 범위를 구하는 공식이
있는데 부절은 +0, 부호 1의보수는 -0을 포함한다
따라서 공식은 -(2^n-1 -1) ~ +(2^n-1 -1) 이다
그리고 부호 2의보수는 -0을 포함 안해서 음의 표현수를 한자리 더 나타낼수 있는데
공식은 -(2^n-1) ~ +(2^n-1 -1) 이다
이제 완벽하게 고정소수점의 문제가 나오면 다 풀 수 있겠다 음하하하하~~~
부동소수점 (실수)
형식은
가수부는 소수부란 의미다
예를 들면 0.02 = 0.2×10^-1
0.002 = 0.2×10^-2
0.0002 = 0.2×10^-3
이 되는거다 0.2는 가수부고 10에 -1승 -2승 이 바로 지수부다
부동소수점 연산하는 방법
가수의 위치 조정 : 지수 비교 후 지수 크기가 다르면 지수가 큰 쪽에 일치시킴
0.2 × 0.002
0.200 = 0.2×10^-0
0.002 = 0.2×10^-2
그래서 밑에꺼가 지수부가 더 크니까 위에꺼를 뒤에 00써서 맞춰준다 는 뜻
자료의 외부적 표현 ( 문자데이터)의 종류
문자코드
- BCD = 6bit ( 64 )
- ASCII = 7bit (128 ) 외부적 표현 방식중 가장 흔히 사용 되는 코드 이며 통신 할 때 사용 된다
- EBCDIC = 8bit ( 256 )