c:기본_자료형

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revisionBoth sides next revision
c:기본_자료형 [2022/01/16 20:10] jonghoonc:기본_자료형 [2022/01/16 21:30] jonghoon
Line 1: Line 1:
 다음은 추가 라이브러리 필요없이 바로 쓸 수 있는 자료형이다. 다음은 추가 라이브러리 필요없이 바로 쓸 수 있는 자료형이다.
 +각 자료형의 크기는 64bit ubuntu 20.04 LTS 버전의 g++ 9.3.0버전 기준으로 작성되었다. 자료형마다 할당되는 크기는 OS, CPU, 컴파일러 등에 따라 차이가 있을 수 있다.
  
-자료 유형 구분 ^ 자료형 ^ 크기 ^ 범위 ^ 비고 ^ +^ 유형 구분 ^ 자료형 ^ 크기 ^ 범위 ^ 비고 ^ 
-자료 유형 없음 | void | - | - | - | +| 유형 없음 | void | - | - | - | 
-| 정수형 | bool | 1 byte | 0 ~ 1 | true or false |+| 정수형 | bool | 1 byte | 1 or 0 | true or false | 
 +| ::: | char(int8_t) | 1 byte | $-2^7 \sim 2^7-1$ ($-128 \sim 127$) | - | 
 +| ::: | unsigned char(uint8_t) | 1 byte | $0 \sim 2^8-1$ ($0 \sim 255$) | - | 
 +| ::: | short(int16_t) | 2 byte | $-2^{15} \sim 2^{15}-1$ ($-32,768 \sim 32,767$) | - | 
 +| ::: | unsigned short(uint16_t) | 2 byte | $0 \sim 2^{16}-1$ ($0 \sim 65,535$) | - | 
 +| ::: | int(int32_t) | 4 byte | $-2^{31} \sim 2^{31}-1$ ($-2,147,483,648 \sim 2,147,483,647$)| - | 
 +| ::: | unsigned int(uint32_t) | 4 byte | $0 \sim 2^{32}-1$ ($0 \sim 4,294,967,295$) | - | 
 +| ::: | long(int64_t) | 8 byte | $-2^{63} \sim 2^{63} -1$ ($-9,223,372,036,854,775,808 \sim 9,223,372,036,854,775,807$)| - | 
 +| ::: | unsigned long(uint64_t) | 8 byte | $ 0 \sim 2^{64}-1$ ($0 \sim 18,446,744,073,709,551,615$)| - | 
 +| 실수형 | float | 4 byte | $-3.402\ 823\ 4 \times 10^{-38} \sim 3.402\ 823\ 4 \times 10^{38}$ | 최대 정확도: 소수점 아래 7자리 | 
 +| ::: | double | 8 byte | $-1.797\ 693\ 134\ 862\ 315\ 7 \times 10^{308} \sim 1.797\ 693\ 134\ 862\ 315\ 7 \times 10^{308}$ | 최대 정확도: 소수점 아래 15자리 | 
 +| ::: | long double | 16 bytes | $\pm1.189\ 731\ 495\ 357\ 231\ 765\ 085\ 759\ 326\ 628\ 007\ 016\ 2 \times 10^{4932}$ | 최대 정확도: 소수점 아래 37자리 | 
 + 
 +long의 경우 long int, long long, long long int 로도 쓸 수 있다. 
 + 
 +이 중 주로 사용하는 자료형은 char(문자, 문자열), int(정수), float(실수), double(실수) 이다. 
 + 
 +자료형이 가진 범위를 넘어선 숫자를 계산할 경우 stack overflow가 일어나서 원치 않은 결과를 얻을 수 있다. 또 자신이 다룰 숫자에 비해 너무 큰 크기를 가진 자료형을 사용하게 되면 메모리 낭비가 될 수 있다. 따라서 자신이 다룰 숫자의 크기가 어느정도 될 지 가늠해 보고 적절한 자료형을 사용하는게 중요하다. 
 + 
 +다시 한 번 강조하지만 위의 자료형 크기는 참조용이며, 자신의 PC 환경에 따라 조금씩은 다를 수 있다. 특히 long과 long double의 경우 PC에 따라 각각 4 byte, 8 byte를 할당하는 경우도 있으니 다음과 같이 확인해 보고 사용하는 것을 권장한다. 
 + 
 +<Code:C++> 
 +#include <iostream> 
 + 
 +using std::cout; 
 + 
 +int main() 
 +
 +    cout << "long: " << sizeof(long) << "\n"; 
 +    cout << "long double: " << sizeof(long double) << "\n"; 
 +    return 0; 
 +
 +</Code>
  • c/기본_자료형.txt
  • Last modified: 2023/09/05 15:46
  • by 127.0.0.1