CS/컴퓨터 구조
2.4 Signed and Unsigned Numbers
sliver__
2023. 10. 19. 23:12
728x90
computer의 모든 정보는 binary digits(or bits)으로 구성됨
i번째 digit d는 $ d \times Base^{i} $ 로 표현 (i = 0, ...)
least significant bit : 가장 오른쪽 bit (0번 째 bit)
most significant bit : 가장 왼쪽 bit (31번 째 bit)
!! 컴퓨터는 왜 2진법 기준일까? Computer의 signal은 on/off 처럼 2가지 형태로 구성이 되어있다. 초장기 컴퓨터는 10진법 기준으로 표현했지만 여러 bit가 사용되고 비효율적이여서 2진법을 사용하게 되었다. 잘 발생되지 않는 input/output event에서나 사용된다.
위에서 보는 것처럼 32bits 표현이지만 숫자는 무한대로 표현될 수 있고 이는 32bit 표현을 넘게되면 overflow가 발생할 수 있다.
two's complementary 표현은 아래와 같다.
가장 왼쪽 bits가 1이면 음수, 0이면 양수이다.
그러므로 가장 왼쪽 bit를 sign bit라고 부른다.
계산 방법은 아래와 같다.
2의 보수를 사용하여 양수 <-> 음수 변환 방법은 $ \bar{x} + x = -1 $에서 $-x = \bar {x} + 1 $을 바탕으로 계산하는 방법이다.
sign extension은 16비트 정수를 32bit 정수로 확장하여 표현하는 방법이다.
728x90