Language 0xFFFFFFFF의 값은 왜 -1인가?

황제낙엽 2016.10.24 19:29 조회 수 : 326

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를 많이 썼더니 어지럽다.. =ㅅ=

번호 제목 글쓴이 날짜 조회 수
공지 Software Development Trend (with Java) 황제낙엽 2024.01.19 592
» 0xFFFFFFFF의 값은 왜 -1인가? 황제낙엽 2016.10.24 326
92 unsigned와 signed 황제낙엽 2016.10.24 176
91 MSDN 라이선스 종류와 혜택 file 황제낙엽 2016.07.12 143
90 컴퓨터와 인간의 대화[20]-전각 문자와 반각 문자 황제낙엽 2016.04.22 233
89 컴퓨터와 인간의 대화[19]-인텔 HEX 황제낙엽 2016.04.22 123
88 컴퓨터와 인간의 대화[18]-베이스64 황제낙엽 2016.04.22 134
87 컴퓨터와 인간의 대화[17]-Surrogate Pair, Supplementary Characters file 황제낙엽 2016.04.22 127
86 컴퓨터와 인간의 대화[16]-UTF-16 황제낙엽 2016.04.22 118
85 컴퓨터와 인간의 대화[15]-UTF-8 황제낙엽 2016.04.22 131
84 컴퓨터와 인간의 대화[14]-euc(Extended UNIX Code) 황제낙엽 2016.04.22 122
83 컴퓨터와 인간의 대화[13]-char set 황제낙엽 2016.04.22 127
82 컴퓨터와 인간의 대화[12]-character encoding 황제낙엽 2016.04.22 87
81 컴퓨터와 인간의 대화[11]-byte 2 황제낙엽 2016.04.22 143
80 컴퓨터와 인간의 대화[10]-byte 1 황제낙엽 2016.04.22 189
79 컴퓨터와 인간의 대화[9]-EBCDIC [엡시딕] 황제낙엽 2016.04.22 164
78 컴퓨터와 인간의 대화[8]-ASCII 4 황제낙엽 2016.04.22 131
77 컴퓨터와 인간의 대화[7]-ASCII 3 황제낙엽 2016.04.22 103
76 컴퓨터와 인간의 대화[6]-ASCII 2 황제낙엽 2016.04.22 142
75 컴퓨터와 인간의 대화[5]-ASCII 1 황제낙엽 2016.04.22 102
74 컴퓨터와 인간의 대화[4]-wchar(wide character) 황제낙엽 2016.04.22 96