在C+中,int和long有什么区别?

在C+中,int和long有什么区别?

如果我错了就纠正我,

int是4个字节,其值范围从-2,147,483,648到2,147,483,647(2^31)。
Long是4个字节,其值范围从-2,147,483,648到2,147,483,647(2^31)。

C+有什么区别?它们可以互换使用吗?


汪汪一只猫
浏览 1388回答 3
3回答

慕无忌1623718

它依赖于实现。例如,在Windows下,它们是相同的,但例如,在Alpha系统上,Long为64位,int为32位。这,这个文章介绍了Intel C+编译器在可变平台上的规则。总结如下:  OS           arch           sizeWindows       IA-32        4 bytesWindows       Intel 64     4 bytesWindows       IA-64        4 bytesLinux         IA-32        4 bytesLinux         Intel 64     8 bytesLinux         IA-64        8 bytesMac OS X      IA-32        4 bytesMac OS X      Intel 64     8 bytes  

慕标琳琳

你唯一的保证是:sizeof(char)&nbsp;==&nbsp;1sizeof(char)&nbsp;<=&nbsp;sizeof(short)&nbsp;<=&nbsp;sizeof(int)&nbsp;<=&nbsp;sizeof(long)&nbsp;<=&nbsp;sizeof(long&nbsp;long)//&nbsp;FROM&nbsp;@KTC.&nbsp;The&nbsp;C++&nbsp;standard&nbsp;also&nbsp;has:sizeof(signed&nbsp;char)&nbsp;&nbsp;&nbsp;==&nbsp;1sizeof(unsigned&nbsp;char)&nbsp;==&nbsp;1//&nbsp;NOTE:&nbsp;These&nbsp;size&nbsp;are&nbsp;not&nbsp;specified&nbsp;explicitly&nbsp;in&nbsp;the&nbsp;standard.//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;They&nbsp;are&nbsp;implied&nbsp;by&nbsp;the&nbsp;minimum/maximum&nbsp;values&nbsp;that&nbsp;MUST&nbsp;be&nbsp;supported//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;the&nbsp;type.&nbsp;These&nbsp;limits&nbsp;are&nbsp;defined&nbsp;in&nbsp;limits.hsizeof(short)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;CHAR_BIT&nbsp;>=&nbsp;16sizeof(int)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;CHAR_BIT&nbsp;>=&nbsp;16sizeof(long)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;CHAR_BIT&nbsp;>=&nbsp;32sizeof(long&nbsp;long)&nbsp;*&nbsp;CHAR_BIT&nbsp;>=&nbsp;64CHAR_BIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;>=&nbsp;8&nbsp;&nbsp;&nbsp;//&nbsp;Number&nbsp;of&nbsp;bits&nbsp;in&nbsp;a&nbsp;byte另见:是long保证至少32位?
打开App,查看更多内容
随时随地看视频慕课网APP