티스토리 뷰
목차
C++ Signed Integer 데이터 타입 공부하기
Signed Integer 자료형
double-word는 2바이트 2개, 또는 16비트 2개의 결합(4바이트, 32비트)을 의미하며 맨 우측 0비트에서 맨 좌측 31 비트까지를 나타냅니다.
c# java 공통 자료형, 데이터 타입 범위와 차이점
- 우측 0비트 : 최하위 비트, LOBIT로 부름
- 좌측 31비트 : 최상위 비트, HIBIT라 부름
다른 비트들은 위치값을 사용하여 부릅니다.
- 첫 번째 8비트(0~7비트) 그룹 : 하위 바이트, LOBYTE라 부fma
- 마지막 8비트(24~31비트)는 상위 바이트, HIBYTE라 부르며, 다른 바이트들은 위치 값을 사용하여 호출됩니다.
- 오른쪽 16비트 : 오른쪽 워드, 하위 워드, LOWORD라 부름
- 좌측 16비트 : 왼쪽 워드, 상위 워드, HIWORD라 부름.
c# java 공통 자료형, 데이터 타입 범위와 차이점
double-word로 표현할 수 있는 최소 이진수와 십진수는 0입니다.
c# java 공통 자료형, 데이터 타입 범위와 차이점
각 비트에 1값을 주어 최대 값을 확인해 볼 수도 있습니다.
2n-1 |
230 |
229 |
228 |
227 |
226 |
225 |
224 |
etc |
1,073,741,824 |
536,870,912 |
268,435,456 |
134,217,728 |
67,108,864 |
33,554,432 |
16,777,216 |
223 |
222 |
221 |
220 |
219 |
218 |
217 |
216 |
8,388,608 |
4,194,304 |
2,097,152 |
1,048,576 |
524,288 |
262,144 |
131,072 |
65,536 |
215 |
214 |
213 |
212 |
211 |
210 |
29 |
28 |
32,768 |
16,384 |
8,192 |
4,096 |
2,048 |
1,024 |
512 |
256 |
27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1
1*231+1*230+1*229 + 1*228 + 1*227 + 1*226 + 1*225 + 1*224 + 1*223 + 1*222 + 1*221 + 1*220+ 1*219 + 1*218 + 1*217 + 1*216 + 1*215 + 1*214 + 1*213 + 1*212 + 1*211 + 1*210 + 1*29 + 1*28 + 1*27 + 1*26 + 1*25 + 1*24 + 1*23 + 1*22 + 1*21 + 1*20
= 2,147,483,648 + 1,073,741,824 + 536,870,912 + 268,435,456 + 134,217,728 + 67,108,864 + 33,554,432 + 16,777,216 + 8,388,608 + 4,194,304 + 2,097,152 + 1,048,576 + 524,288 + 262,144 + 131,072 + 65,536 + 32,768 + 16,384 + 8,192 + 4,096 + 2,048 + 1,024 + 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1
= 4,286,578,708
『Word에 저장할 수 있는 16진수 최소 값은 0x0』입니다.
c# java 공통 자료형, 데이터 타입 범위와 차이점
Word로 표현할 수 있는 16진수 최대 값을 확인해 보려면 모든 비트의 값을 f나 F로 변환해야 합니다.
1111 1111 1111 1111 1111 1111 1111 1111 |
f f f f f f f f |
= 0xffffffff = 0Xffffffff = 0XFFFFFFFF = 0xFFFFFFFF |
double-word는 word 두 개가 표현할 수 있는 데이터의 양을 모두 포함합니다. (32비트, 4바이트, 4,294,967,295)
32비트를 요구하는 숫자를 저장하려면 -2,147,483,648에서 2,147,484,647까지 표현할 수 있는 INT 키워드를 사용할 수 있으며, INT에 signed도 붙일 수 있습니다.
아래는 사용 예입니다.
1 2 3 4 5 6 7 8 9 10 11 12 | #include <iostream> using namespace std; void main() { int number = 44608; signed number = 44608; cout << number; putchar(L'\n'); } | cs |
실행 결과는 아래와 같습니다.
44608
Press any key to continue . . .
c# java 공통 자료형, 데이터 타입 범위와 차이점
Win32 라이브러리는 INT형 데이터 타입을 제공하는데, 아래처럼 사용하면 『INT32를 사용하는 것』과 같습니다.
1 2 3 4 5 6 7 8 9 10 11 | #include <iostream> #include <Windows.h> using namespace std; void main() { INT number = 44608; cout << number; putchar(L'\n'); } | cs |
c# java 공통 자료형, 데이터 타입 범위와 차이점
Unsigned Integers
이 자료형은 32비트형으로 0에서 2,147,484,647를 나타내며, 아래는 사용 예입니다.
1 2 3 4 5 6 7 8 | #include <iostream> using namespace std; void main() { unsigned number; unsigned int value; } | cs |
Unsigned Integer를 지원하기 위해 Win32 라이브러리는 UINT와 UINT32란 데이터형을 제공합니다.
c# java 공통 자료형, 데이터 타입 범위와 차이점
[C++ Signed Integer 데이터 타입 공부하기]