Language unsigned와 signed

황제낙엽 2016.10.24 19:11 조회 수 : 81

sitelink1  
sitelink2  
sitelink3  
sitelink4  
sitelink5  
extra_vars6  

프로그래밍에서의 unsigned는 부호가 없는. 즉 음수를 표현하지 않겠다는 의미이고 signed는 부호가 있는. 즉 음수를 표현하겠다는 의미이다.

 

signed의 경우 음수를 사용하게 되는데 메모리에는 0,1으로만 이용해서 저장됨으로 부호 비트라는게 따로 필요한데 이것을 MSB라고 한다. 이 MSB라는 부호 비트가 0이면 양수 1이면 음수이다.

 

그러나 unsigned에서는 MSB가 없어서 양수만 처리하게 됨으로 음수는 표현할 수 없는 대신 양수를 2배 만큼 표현할 수 있다.

 

2바이트(16비트)인 short의 경우 signed의 경우 -32768~32767까지 표현할 수 있다.

 

총 합해서 2^16만큼인 65536 만큼이다.

(abs(음수)+양수+1 (1을 더하는 이유는 0 때문이다. 0은 제외해서 더했기 때문.))

unsigned 의 경우 0~65535까지 표현할 수 있다.

 

왜 부호비트 하나가 있는지, 없는지에 따라 표현할 수 있는 수가 달라지는 이유를 알기 위해서는 메모리를 봐야 한다.

번호 제목 글쓴이 날짜 조회 수
공지 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
53 0xFFFFFFFF의 값은 왜 -1인가? 황제낙엽 2016.10.24 177
» 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 19