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
60 REST API 제대로 알고 사용하기 황제낙엽 2021.06.02 130
59 locale (로캘, 로케일) 황제낙엽 2021.03.19 112
58 [REST API] HTTP METHOD 종류 황제낙엽 2021.01.14 174
57 [Deno] TypeScript를 실행하기 위한 Command-line 런타임 황제낙엽 2021.01.14 100
56 어린이, 청소년용 프로그램 입문 황제낙엽 2017.05.03 166
55 컴퓨터는 음수를 2의 보수법으로 표현한다 file 황제낙엽 2016.10.24 843
54 변수를 unsigned int형 선언 0xffffffff 할당 결과가 -1이 되는 이유는? 황제낙엽 2016.10.24 486
» 0xFFFFFFFF의 값은 왜 -1인가? 황제낙엽 2016.10.24 326
52 unsigned와 signed 황제낙엽 2016.10.24 176
51 컴퓨터와 인간의 대화[20]-전각 문자와 반각 문자 황제낙엽 2016.04.22 233
50 컴퓨터와 인간의 대화[19]-인텔 HEX 황제낙엽 2016.04.22 123
49 컴퓨터와 인간의 대화[18]-베이스64 황제낙엽 2016.04.22 134
48 컴퓨터와 인간의 대화[17]-Surrogate Pair, Supplementary Characters file 황제낙엽 2016.04.22 127
47 컴퓨터와 인간의 대화[16]-UTF-16 황제낙엽 2016.04.22 118
46 컴퓨터와 인간의 대화[15]-UTF-8 황제낙엽 2016.04.22 131
45 컴퓨터와 인간의 대화[14]-euc(Extended UNIX Code) 황제낙엽 2016.04.22 122
44 컴퓨터와 인간의 대화[13]-char set 황제낙엽 2016.04.22 127
43 컴퓨터와 인간의 대화[12]-character encoding 황제낙엽 2016.04.22 87
42 컴퓨터와 인간의 대화[11]-byte 2 황제낙엽 2016.04.22 143
41 컴퓨터와 인간의 대화[10]-byte 1 황제낙엽 2016.04.22 189