티스토리 뷰
2021.02.06.토
unsigned 정수 자료형
✔ 정수형은 일반적으로 음수와 양수를 모두 다루지만, 음수를 사용하지 않는 경우에는 unsigned 정수 자료형을 사용한다.
✔ unsigned 정수 자료형은 0부터 시작해 양수 범위를 표현한다.
✔ 양수만을 표현하는 대신, 자료형의 크기는 변하지 않는다 → 양수의 표현 범위가 넓어진다 (signed 정수 자료형의 2배)
✔ unsigned 자료형을 받을 때에는 %u 형식 지정자를 사용한다.
unsigned 정수 자료형 | 크기 | 범위 | 비고 |
unsigned char | 1byte(8bit) | 0 ~ 255 | |
unsigned short | 2byte(16bit) | 0 ~ 65,535 | |
unsigned int | 4byte(32bit) | 0 ~ 4,294,967,295 | |
unsigned long | 4byte(32bit) | 0 ~ 4,294,967,295 | 운영체제마다 상이 |
unsigned long long | 8byte(64bit) | 0 ~ 18,446,744,073,709,551,615 |
(signed) 정수 자료형 | 크기 | 범위 | 비고 |
(signed) char | 1byte(8bit) | -128 ~ 127 | |
(signed) short | 2byte(16bit) | -32,768 ~ 32,767 | |
(signed) int | 4byte(32bit) | -2,147,483,648 ~ 2,147,483,647 | |
(signed) long | 4byte(32bit) | -2,147,483,648 ~ 2.147.483.647 | 운영체제마다 상이 |
(signed) long long | 8byte(64bit) | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
실수 자료형
✔ 실수를 표현하는 다양한 형태의 자료형이 존재한다.
✔ long double은 플랫폼마다 표현 가능한 범위가 다르므로, Window를 기준으로 기억하자. [참고 링크] C언어 코딩 도장
실수 자료형 | 크기 | 범위 | 유효 자릿수 | 비고 |
float | 4byte(32bit) | 1.175494e-38 ~ 3.402823e+38 | 7 | |
double | 8byte(32bit) | 2.225074e-308 ~ 1.797693e+308 | 16 | |
long double | 8byte(32bit) | 2.225074e-308 ~ 1.797693e+308 | 16 | 운영체제마다 상이 |
✔ 유효 숫자는 실수가 표현할 수 있는 소수점 이하의 자릿수를 의미한다. (소수점 포함)
✔ float는 정수와 실수 부분을 합쳐 총 7자리까지 표현 가능하며, double과 long double 은 16자리까지 표현 가능하다.
✔ 형식 지정자를 사용하여 유효 자릿수 이상의 범위를 표현한다면, 해당 범위에는 쓰레기 값이 반환된다.
#include <stdio.h>
int main(void){
float num1 = 1234567890.1234567890;
printf("num1 : %.20lf\n",num1);
double num2 = 1234567890.1234567890;
printf("num2 : %.20lf\n",num2);
return 0;
}
✔ 출력된 결과를 보면, num1은 1234567까지 올바르게 출력되었고, 이후는 알 수 없는 값들이 출력되었다.
✔ num2는 1234567890.123456까지 올바르게 출력되었음을 알 수 있다.
[참고] 한빛미디어-혼자 공부하는 C언어 유튜브 강의 / 엘리스 트랙-혼자 공부하는 C언어 / 길벗-C언어 코딩도장 / 위키백과
'BackEnd > C' 카테고리의 다른 글
[2일차] 3. 입력 함수 scanf( ) (0) | 2021.02.13 |
---|---|
[2일차] 2. 문자열 저장 (0) | 2021.02.13 |
[1일차] 4. 변수 선언과 초기화/정수 자료형 (0) | 2021.02.13 |
[1일차] 3. 정수/실수/문자/문자열 표현법 (0) | 2021.02.13 |
[1일차] 2. 출력 함수 printf( ) (0) | 2021.02.13 |
댓글