7.20.1.1p3提到精确宽度整数({u,}int{8,16,32,64}_t
)是可选的。
如果我使用它,它将如何实际限制我的软件的可移植性?
(我特别感兴趣的是支持运行Linux,Windows或Mac OS的计算机。)
答案 0 :(得分:2)
作为一个非常好的经验法则,具有使用2的补码signed
类型的CPU的任何机器都完全支持精确的宽度整数。
您可以找到例外情况。一些大型机和收银机可能使用1的补码和更罕见的签名幅度方案。你可能会发现很难让你的代码在这样的机器上运行,但是,你想要它吗?
答案 1 :(得分:2)
所以我发现了:
并且从https://en.wikipedia.org/wiki/Word_(computer_architecture)开始,似乎人们几乎可以依赖于自1978年以来制造的机器上的8位,16位和32位整数(但不一定是64位整数)的硬件支持。