기본 데이터형 | 산술형 | 정수형 | 문자형 | (unsigned) char |
수치형 | (unsigned) short, (unsigned) int, (unsigned) long, (unsigned) long long | |||
실수형 | float, double, (long double) | |||
무치형 | void (없다, 모른다) | |||
복합 데이터형 | 배열(array), 포인터(pointer), 구조체(struct), 나열형(enum), 공용체(union) |
구분 | 기본 데이터형 | 범 위 | Byte |
문자형 | char unsigned char |
-128 ~ 127 (-(2^7) ~ (2^7) - 1) 0 ~ 255 |
1 |
수치형 | int unsigned int |
-2,147,483,648 ~ 2,147,483,647 (-(2^31) ~ (2^31) - 1) 0 ~ 4294967295 |
4 |
short (int) unsigned short (int) |
-32,768 ~ 32,767 (-(2^15) ~ (2^15)-1) 0 ~ 65535 |
2 | |
long (int) unsgiend long (int) |
-2,147,483,648 ~ 2,147,483,647 (-(2^31) ~ (2^31) - 1) 0 ~ 4294967295 |
4 | |
long long (int) unsigned long long (int) |
-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 0 ~ 18,446,744,073,709,551,615 |
8 | |
실수형 | float | ±3.4 * 10^-38 ~ ±3.4 * 10^38 | 4 |
double | ±1.7 * 10^-308 ~ ±1.7 * 10^308 | 8 |
signed와 unsigned의 차이점은 Sign Bit가 있느냐 없느냐의 차이
Sign bit가 0이면 양수, 1이면 음수
① 10진법 : 0이 아닌 수로 시작되는 수
② 8진법 : 0을 접두어로 갖고, 0~7까지의 수로 표현되는 수
③ 16진법 : 0x를 접두어로 갖고, 0~9까지의 수와 10~15까지의 수에 대응되는 a~f의 문자로 표현되는 수
+ 컴퓨터 내부에 저장되는 2진수 표기는 프로그래밍 시에는 허용되지 않음.
ex) unsigned int b = 10; // 10은 signed int이기 때문에 unsigned int로 자동형변환
ex) unsigned int b = 10u; // u는 unsigned int를 의미하므로 자동형변환없이 대입 가능
1 1 0 1 1 0 1 1 0 0 0 0 1 0 1 (2)
① 오른쪽부터 숫자를 4개씩 나누기 → 0 1 1 0 / 1 1 0 1 / 1 0 0 0 / 0 1 0 1 (2)
② 4개씩 나눈 2진수를 10진수로 계산하기
0 1 1 0 = 0 * 2^0 + 1 * 2^1 + 1 * 2^2 + 0 * 2^3 = 0 + 2 + 4 + 0 = 6
1 1 0 1 = 1 * 1 + 1 * 4 + 1 * 8 = 13
1 0 0 0 = 1 * 8 = 8
0 1 0 1 = 1 * 1 + 1 * 4 = 5
③ 각 자리의 10진수를 16진법으로 표현하기 → 6 D(=13) 8 5
④ 16진법의 접미사를 붙이기 → 0X6D85 (16)
+ 8진법은 숫자를 3개씩 나누기
F 3 . 0 a (16)
① 각 숫자를 10진법으로 표현하기 → 15 3 . 0 10
② 각 숫자를 4자리의 2진법으로 표현하기
15 = 1 1 1 1 (2)
3 = 0 0 1 1 (2)
0 = 0 0 0 0 (2)
1 = 1 0 1 0 (2)
③ 각 2진수를 하나로 합치기 → 1 1 1 1 0 0 1 1 . 0 0 0 0 1 0 1 0 (2)
+ 8진법은 각 숫자를 3자리의 2진법으로 표현하기
[TIL] 2 - 3. 데이터형 - 실수형의 이해 (0) | 2022.03.01 |
---|---|
[TIL] 2 - 2. 데이터형 - 정수형 (0) | 2022.03.01 |
[TIL] 1 - 5. C언어의 기초 - 프로그램의 전처리, 컴파일, 링크 (0) | 2022.02.05 |
[TIL] 1 - 4. C언어의 기초 - C 프로그램 예제 (0) | 2022.02.05 |
[TIL] 1 - 3. C언어의 기초 - Escape Sequence (확장문자열) (0) | 2022.02.05 |
댓글 영역