Ale*_*lex 13 c++ types long-integer
我已经用C++编程了很长一段时间,而且我对大多数东西非常熟悉.我从未理解的一件事是"长"数据类型.
我用Google搜索,但我仍然不知道它是什么.我发现页面说它的大小相同,并且与int的范围相同.那么使用它有什么意义呢?
我在这里发现了另一个堆栈溢出问题: long和int数据类型之间的区别
似乎两者之间的唯一区别是有时在不同系统上的大小不同.这是否意味着在64位机器上使用long的应用程序无法在32位机器上运行?如果是这样,那么根本不使用它们会不会更好?
我还注意到了一些名为"long int"甚至"long long"的东西!它是数据类型还是修饰符?
sle*_*man 25
它取决于编译器.我的标准有点生疏,但我相信它的定义如下:
char <= short <= int <= long <= long long
Run Code Online (Sandbox Code Playgroud)
哪里:
char >= 8 bits
short >= 16 bits
int >= 16 bits
long >= 32 bits
long long >= 64 bits
Run Code Online (Sandbox Code Playgroud)
这意味着它实际上是有效的char = short = int = long = long long = 64bits,事实上某些DSP的编译器就是这样设计的.
这强调了实际阅读编译器文档的重要性.
fre*_*low 20
我注意到了一些名为"long int"甚至"long long"的东西!它是数据类型还是修饰符?
long int是一样的long(就像short int它一样short).
long long 是由几个编译器引入并由C++ 0x采用的独特数据类型.
请注意,没有这样的事情long long long:
Run Code Online (Sandbox Code Playgroud)error: 'long long long' is too long for GCC
long保证(至少)32位.int仅保证(至少)16位.在16位和8位系统long上以效率为代价提供了范围.
干杯和hth.,
| 归档时间: |
|
| 查看次数: |
22039 次 |
| 最近记录: |