IT 개발 노트/PROGRAMMING

[C++] 32bit 자료형, 64bit 자료형 크기 정리

뺄칸 2024. 11. 26. 12:25
자료형 32bit OS 64bit OS
int 4 Byte (32 bit) 4 Byte
short 2 Byte (16 bit) 2 Byte 
long 4 Byte 8 Byte (64 bit)
longlong 8 Byte (64 bit) 8 Byte
pointer(*) 4 Byte 8 Byte
long double 12 Byte (96 bit) 16 Byte (128 bit)
size_t, ssize_t 4 Byte 8 Byte

 

 

자료형 사이즈 출력해보기

#include <stdio.h>#include <stdlib.h>
#include <limits.h>

int main(void)
{
    printf("### 1 Byte = 8 bit ###\n");
    printf("int : %d byte\n",sizeof(int));
    printf("unsigned int : %d byte\n",sizeof(unsigned int));
    printf("long int : %d byte\n",sizeof(long int));
    printf("unsigned long int : %d byte\n",sizeof(unsigned long int));
    printf("long long int : %d byte\n",sizeof(long long int));
    printf("float : %d byte\n",sizeof(float));
    printf("double : %d byte\n",sizeof(double));
    printf("long double : %d byte\n",sizeof(long double));
    printf("(void *) : %d byte\n",sizeof(void *));
    printf("\n");
    
    printf("INT_MAX = %d\n", INT_MAX);
    printf("UINT_MAX = %ud\n", UINT_MAX);
    printf("LONG_MAX = %ld\n", LONG_MAX);
    printf("ULONG_MAX = %lud\n", ULONG_MAX);
    return 0;
}


### 1 Byte = 8 bit ###
int : 4 byte
unsigned int : 4 byte
long int : 8 byte
unsigned long int : 8 byte
long long int : 8 byte
float : 4 byte
double : 8 byte
long double : 16 byte
(void *) : 8 byte

INT_MAX = 2147483647
UINT_MAX = 4294967295d
LONG_MAX = 9223372036854775807
ULONG_MAX = 18446744073709551615d