byte 1字节 8位
char 2byte 16bit
short 2byte 16bit
int 4byte 32bit
float 4byte 32bit
double 8byte 64bit
long 8byte 64bit
为什么突然想起来复习这个,是因为在lc上刷题时遇到了关于long 的字节数。
在认知上,long是8字节,但是,在实践过程中,我发现:
一开始我以为是x64的问题,换成了x86以后发现结果仍然是4字节。
在leetcode上:
http://t.csdn.cn/CNUY2http://t.csdn.cn/CNUY2然后我查到了这篇文章。
根据上面的对比可以发现,在MacOS环境下,long的长度位8个字节,要比windows多出四个字节。
long在linux64环境下所占用字节位8,也就间接说明了long在macOS下的字节长度也是8。(这是因为MacOS系统和Linux都是类Unix系统,只不过基于不同的内核)
所以,在写跨平台的应用时,如果使用到long型,需要考虑到精度丢失的问题,在写跨平台应用时也尽量避免使用long型。