c언어
내가 공부하기 위한 공간 - [c언어] 11 - 진수와 표현방식
AbiTindt
2022. 10. 5. 22:58
반응형
n진수 : n개의 기호를 이용해 숫자를 표현
- 2진수 : 0과 1
- 8진수 : 0~7
- 16진수 : 0~9, A, B, C, D, E, F
[10진수에서 2진수 변환(정수)]
* 아래부터 나열해야 올바른 값을 얻을 수 있음
* n진수로 변환하려면 2대신 n으로 나눠주면 됨
[10진수에서 2진수 변환(소수점)]
* 2를 곱해서 1의자리가 0이면 0, 1이면 1(값에서 1을 빼줌)
* n진수로 변환하려면 2대신 n으로 곱해주면 됨
* 0.45같은 실수는 2진수로 정확히 나타내기 어려움 >> 오차발생
[2진수에서 10진수로 변환]
* 각 자릿수의 가중치를 곱하여 더해줌
* n진수에서 변환하려면 2대신 n으로 가중치를 계산
[정수 표현방식(비트)]
n개의 비트는 2^n 개의 수를 표현할 수 있음
* 부호화와 1의 보수는 0을 표현하는 비트가 2개 있음, 표현 범위는 같지만 표현 방식은 다름
[실수 표현방식]
실수 표현을 위한 식 : 부동 소수점 방식
* 적은 바이트로 많은 범위 실수를 표현하기 위함
* 모든 실수를 정확히 표현할 수 없음 >> 부동 소수점 오차
ex) 0.45를 2진수로 정확히 표현할 수 없음
- 따라서 정확히 표현할 수 없는 실수는 문제가 없을 만큼의 근사치를 통해 표현
반응형