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

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

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

번호 제목 글쓴이 날짜 조회 수
공지 2023 Software Development Trend 정리 황제낙엽 2024.01.19 1
60 REST API 제대로 알고 사용하기 황제낙엽 2021.06.02 21
59 locale (로캘, 로케일) 황제낙엽 2021.03.19 15
58 [REST API] HTTP METHOD 종류 황제낙엽 2021.01.14 30
57 [Deno] TypeScript를 실행하기 위한 Command-line 런타임 황제낙엽 2021.01.14 8
56 어린이, 청소년용 프로그램 입문 황제낙엽 2017.05.03 69
55 컴퓨터는 음수를 2의 보수법으로 표현한다 file 황제낙엽 2016.10.24 753
54 변수를 unsigned int형 선언 0xffffffff 할당 결과가 -1이 되는 이유는? 황제낙엽 2016.10.24 376
» 0xFFFFFFFF의 값은 왜 -1인가? 황제낙엽 2016.10.24 177
52 unsigned와 signed 황제낙엽 2016.10.24 81
51 컴퓨터와 인간의 대화[20]-전각 문자와 반각 문자 황제낙엽 2016.04.22 122
50 컴퓨터와 인간의 대화[19]-인텔 HEX 황제낙엽 2016.04.22 28
49 컴퓨터와 인간의 대화[18]-베이스64 황제낙엽 2016.04.22 30
48 컴퓨터와 인간의 대화[17]-Surrogate Pair, Supplementary Characters file 황제낙엽 2016.04.22 29
47 컴퓨터와 인간의 대화[16]-UTF-16 황제낙엽 2016.04.22 15
46 컴퓨터와 인간의 대화[15]-UTF-8 황제낙엽 2016.04.22 14
45 컴퓨터와 인간의 대화[14]-euc(Extended UNIX Code) 황제낙엽 2016.04.22 15
44 컴퓨터와 인간의 대화[13]-char set 황제낙엽 2016.04.22 43
43 컴퓨터와 인간의 대화[12]-character encoding 황제낙엽 2016.04.22 10
42 컴퓨터와 인간의 대화[11]-byte 2 황제낙엽 2016.04.22 31
41 컴퓨터와 인간의 대화[10]-byte 1 황제낙엽 2016.04.22 20