티스토리 뷰

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언어 코딩도장 / 위키백과

댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
최근에 올라온 글
글 보관함
Total
Today
Yesterday