컴퓨터는 2진수를 사용한다.
2진수는 0과 1만 사용하여 표현하는 것
따라서 문자와 숫자 모두 2진수로 표현된다.
2진수로 표현하면 길이가 길어지기 때문에
8진수나 16진수를 사용하기도 한다.
10진수 - 16진수
...
9 - 9
10 - A
11 - B
12 - C
13 - D
14 - E
15 - F
16 - 10
프로그램에서 숫자를 나타낼 때
0B로 시작하면 2진수
0으로 시작하면 8진수
0X로 시작하면 16진수
이클립스에서 각 진수로 10 출력하기
컴퓨터에서 32bit 사용시
가장 앞에 붙은 숫자를 MSB라고 한다.(must signatuer bit가장 중요한 비트) = MSB는 부호비트임
음수를 만드는 방법은 2의 보수를 취하는 것이다
ex)
00000101 = 5
그렇다면 제일 앞에 1을 붙인
10000101은 5의 음수인가?
00000101
+10000101
=10001010
이기 때문에 음수가 아니다!
더했을 때 전부 0이 나와야 음수다.
(오른쪽부터 9번째 숫자(제일 앞자리)는 제외되기 때문에 100000000 = 가장 앞자리 빼고 8자리 숫자가 모두 0인 경우가 음수다)
= 2의 보수가 음수다
먼저 해당 숫자의 1의 보수를 만든다
00000101
11111010 (1의보수)
11111111 (더했을 때 전부 1이 나옴)
(제일 앞자리 제외 8자리가 모두 0이 나오는것 확인하기)
11111111
1
100000000
11111010
1
11111011
음수는 11111011 이다.
= 해당 숫자의 음수를 반드는 방법은 1의 보수에 1을 더하는것이다.