sitelink1 | http://ongmi.tistory.com/31 |
---|---|
sitelink2 | |
sitelink3 | |
sitelink4 | |
sitelink5 | |
extra_vars6 |
1. 2진수 음수 표현
"1" | 0001 |
"-1" | 1001 ( 맨앞의 값이1 이면 음수를 나타냄) |
2. 1의 보수
음수를 나타내기 위해 쓰임
0을 1로 1을 0으로 바꾸면 끝
"-1" | 1110 |
여기서 -1 + 1 을 계산하면
0001 + 1110 | 1111 |
원래"0"은 0000 이고 위의 계산식에서 구한 "0"은 1111
즉, 1의 보수에서는 0의 표현이 2가지가 생기는 문제점이 있다.
그래서 탄생한 것이 2의 보수
3. 2의 보수
1의 보수의 값에 +1을 하면 끝
"-1" 의 1의 보수 값 | 1110 |
"-1"의 2의 보수 값 (위의 값에 +1) | 1111 |
4. 0xFFFFFFFF
0xFFFFFFFF은 16진수 즉, F는 15의 값을 가진다.
"15"의 2진수 값 | 1111 |
따라서, 0xFFFFFFFF를 2진수로 변환하면
"0xFFFFFFFF" 2진수 값 | 1111 1111 1111 1111 1111 1111 1111 1111 (F의 갯수가 8개니까.. "1111" 묶음 8개를 쓰면 되지) |
1의 2의 보수 값 즉 "-1"을 나타내고 있다. 그래서, 자바에서 0xFFFFFFFF값을 찍으면 -1이 나온단 이 말씀..넹..
F를 많이 썼더니 어지럽다.. =ㅅ=