관리 메뉴

도드넷

컴퓨터상 음수를 이진수로 표현하기! 본문

창고/정보

컴퓨터상 음수를 이진수로 표현하기!

도드! 2014. 8. 28. 14:34
반응형




컴퓨터에서 음수를 이진수로 표현하는것에 대해서 알아봅시다.


앞서, 가장 첫번째로 알아두어야 할 것은 표현한계점 입니다.


"4비트"라고 가정하면


0000 부터해서 1111 까지 총 {2^4}개의 자료를 가질 수 있는데

양수만 표현한다고 했을때에는 최솟값은 0, 최댓값은 1111 (십진수로는 15) 입니다.


하지만 음수와 함께 표현한다고 하면 (000 ~ 111) 까지 총 {2^3} x 2개 자료를 가지며 

최솟값은 (1)001 (십진수로 -7), 최댓값은 (0)111 (십진수로 7) 까지 줄어듭니다. 


왜냐하면 맨앞의 비트를 "자리수" 로 활용해야 하기 때문입니다.  

0000 ~ 1111 


0 이면 양수

1 이면 음수


입니다.


4비트 환경을 놓고 생각했을때,


1의 이진수는 0001입니다.

-1의 이진수는 1111입니다.


7의 이진수는 0111입니다.

-7의 이진수는 1001입니다.


8의 이진수 1000입니다. 이는 4비트 양~음 범위를 초과했습니다. X_X

....




음수를 이진수로 표현하는 방법은 간단합니다.

양의 이진수를 몽땅 써놓고 보수(0은 1로 1은 0으로)를 취한뒤 1을 더해주면 됩니다. 

(잊지맙시다. 맨 앞자리는 자리수 비트이며 이것을 초과하면 표현이 안돼어 그냥 버리게 됩니다.)


* 참고자료 

비트별 양~음 표현 범위


N비트 : -(2^N - 1) ~ (2^N -1)

32비트 : -4294967296 ~ 4294967296 







반응형
Comments