|
|
1
43
正如一些人所说,“int”不能保证为32位,如果您想使用特定大小的变量,特别是在编写涉及位操作的代码时,您应该使用c99规范规定的“标准整数类型”。
等 它们的形式通常为[u]intN\t,其中“u”表示需要一个无符号量,N表示位数 对于这些类型的正确typedef应该在stdint.h中提供,无论您为哪个平台编译,使用它们都可以编写漂亮的可移植代码:-) |
|
2
17
”“是吗 32位on 最 平台”-这段代码有什么问题吗?:-)
C标准并没有规定其许多整体类型的尺寸。信息技术
例如,强制相对大小,
如果您想要一个特定大小的变量,您需要使用一个适合您正在运行的平台的变量,例如
或者,C99及以上版本允许精确的宽度整数类型
|
|
|
3
9
此时此刻,大多数桌面和服务器平台使用32位整数,甚至许多嵌入式平台(比如手持ARM或x86)也使用32位整数
|
|
|
4
4
不是。小型嵌入式系统使用16位整数。 |
|
5
2
这在很大程度上取决于编译器。有些在64位机器上编译为64位,有些编译为32位。嵌入式系统本身就是一个小小的特殊的蜡球。 您可以做的最好的检查:
注意
|
|
|
6
1
此外,一些图形计算器使用8位处理器,我认为这些处理器也相当现代。 |
|
|
7
1
TI仍在销售带有C55x DSP的OMAP板,主要用于视频解码。我相信为它提供的编译器有一个16位int。它几乎不是恐龙(诺基亚770于2005年发布),尽管你可以得到32位DSP。 您编写的大多数代码都可以安全地假设它永远不会在DSP上运行。但也许不是全部。 |
|
|
8
0
如果您还对实际的最大/最小值而不是位数感兴趣, limits.h 包含了你想知道的一切。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |