【发布时间】:2019-09-20 16:36:07
【问题描述】:
我正在阅读the two's-complement proposal 的修订版 4(由 C++20 采用),我有一些问题。
在介绍中,它说:
- 现状有符号整数算术通常保持不可交换(尽管某些实现可能保证它是)。
它真的意味着“不可交换”吗,例如 a + b 与 b + a?还是应该读作“非关联”?
它还说:
- 更改从有符号到无符号的转换始终是明确定义的:结果是目标类型的唯一值,它与源整数模 2^N 一致。
有符号到无符号的转换不是从一开始就以这种方式明确定义的吗?应该读作“从无符号转换为有符号”吗?
更改列表中是否还有其他遗漏或错误陈述的内容?
【问题讨论】:
-
我投票结束这个问题作为离题,因为这个问题不太可能对所讨论论文的特定作者之外的任何人有帮助,而且即使那样也没有,因为设计已经被采用P1236 进入 C++20。
-
就像是一样,它应该是非关联的,并且更改为未签名到签名。
-
这只是两个错别字......有时我们不得不接受人类会犯错误
-
标签: c++ integer language-lawyer twos-complement c++20