3. Number Systems
1) Number Systems
n : number of digits
r : base number (radix)
a : coefficient
(0 ≤ a_i < r)
2) Other number system
1> octal system
binary number → octal number 변환
→ binary number 3개(3-bit)가 octal digit 1개에 대응
2> hexadecimal number system
binary number → hexadecimal number 변환
→ binary number 4개(3-bit)가 hexadecimal digit 1개에 대응
3> conversion example
4. representation of negative numbers
1) sign-magnitude representation
MSB가 0이면 positive number
MSB가 1이면 negative number
=> 하지만 computer 입장에서 연산하는데 좋은 방식은 아니다.
- 연산 전에 sign을 확인하는 것이 연산을 느리게 한다.
2) 2's complement
1> range, representation
2> negative number 변환 방법
- [1] magnitude(절댓값)의 binary number로 표현
- [2] 각 bit별로 보수(complement)를 취한다.
- [3] 1을 더한다.
3> complement로 인한 관계들
4> addition rules
- 부호와 관계 없이 그냥 더하면 답이 나온다. (carry도 무시할 수 있다.)
- overflow : 덧셈의 결과가 representation range를 넘어서면 덧셈의 결과가 올바르지 않다.
5> subtraction rule
- subtraction의 경우 빼는 수에 negative 변환을 진행한 뒤 덧셈을 진행한다.