相关疑难解决方法(0)

为什么不在C++中强制执行2的补码?

新的C++标准仍然拒绝指定整数类型的二进制表示.这是因为C++的实际实现不使用2的补码算法吗?我觉得很难相信.是不是因为委员会担心硬件的未来发展会让"过时"的概念变得过时?再次难以置信.任何人都可以对此有所了解吗?

背景:我在一个评论帖中惊讶两次(Benjamin Lindley对这个问题的回答).首先,来自piotr的评论:

签名类型的右移是未定义的行为

其次,来自James Kanze的评论:

当分配给long时,如果该值不适合long,则结果是实现定义的

在我相信之前,我必须在标准中查看这些内容.它们的唯一原因是适应非二进制补码整数表示.为什么?

c++ binary standards

26
推荐指数
2
解决办法
3414
查看次数

标签 统计

binary ×1

c++ ×1

standards ×1