不同編譯器下C++基本資料型別的位元組長度
阿新 • • 發佈:2020-08-18
位元(bit),即一個二進位制位 ,例如100011就是6位元;
位元組(byte),是計算機中資料型別最基本的單位,8bit組成1byte;1024byte組成1KB。
short(短整型),佔2byte即16位,兩個位元組。
int(整型),佔4byte即32位,一個int型資料的長度用4個位元組來儲存。
float(浮點型)佔4byte即32位。
double(雙精度浮點型)佔8byte即64位。
#include <stdio.h> int main() { printf("sizeof( char ): %zd\n", sizeof(char)); printf("sizeof( short int ): %zd\n", sizeof(short int)); printf("sizeof( int ): %zd\n", sizeof(int)); printf("sizeof( float ): %zd\n", sizeof(float)); printf("sizeof( long int ): %zd\n", sizeof(long int)); printf("sizeof( long long int ): %zd\n", sizeof(long long int)); printf("sizeof( double ): %zd\n", sizeof(double)); printf("sizeof( long double ): %zd\n", sizeof(long double)); printf("sizeof( size_t ): %zd\n", sizeof(size_t)); //long unsigned int printf("sizeof( void* ): %zd\n\n", sizeof(void*)); return 0; }
64位centos7 gcc -m32
sizeof( char ): 1
sizeof( short int ): 2
sizeof( int ): 4
sizeof( float ): 4
sizeof( long int ): 4
sizeof( long long int ): 8
sizeof( double ): 8
sizeof( long double ): 12
sizeof( size_t ): 4
sizeof( void* ): 4
64位centos7 gcc
sizeof( char ): 1 sizeof( short int ): 2 sizeof( int ): 4 sizeof( float ): 4 sizeof( long int ): 8 sizeof( long long int ): 8 sizeof( double ): 8 sizeof( long double ): 16 sizeof( size_t ): 8 sizeof( void* ): 8
64位win10 vs Debug x86
sizeof( char ): 1
sizeof( short int ): 2
sizeof( int ): 4
sizeof( float ): 4
sizeof( long int ): 4
sizeof( long long int ): 8
sizeof( double ): 8
sizeof( long double ): 8
sizeof( size_t ): 4
sizeof( void* ): 4
64位win10 vs Debug x64
sizeof( char ): 1 sizeof( short int ): 2 sizeof( int ): 4 sizeof( float ): 4 sizeof( long int ): 4 sizeof( long long int ): 8 sizeof( double ): 8 sizeof( long double ): 8 sizeof( size_t ): 8 sizeof( void* ): 8