Nem*_*emo 7 c++ integer twos-complement language-lawyer c++20
我正在阅读2 的补码提议的修订版4 (由C ++ 20通过),我有一些疑问。
在引言中说:
像a + bvs中一样,这真的意味着“不可交换” b + a吗?还是应该读成“非关联”?
a + b
b + a
它还说:
自从开始以来,难道没有以这种方式很好地定义有符号到无符号的转换吗?那应该读为“从无符号转换为有符号”吗?
更改列表中是否还有其他遗漏或错误陈述的内容?
Bar*_*rry 2
请注意,采用的不是 P0907 - 而是P1236。
或者应该读作“非关联”?
是的。
应该是“从无符号到有符号的转换”吗?
是的。如果您查看P1236R1,您可以看到规则更改为:
如果目标类型是无符号的,则结果值是与源整数一致的最小无符号整数(模 2 n,其中 n 是用于表示无符号类型的位数)。 如果目标类型是带符号的,则如果该值可以在目标类型中表示,则该值不会改变;否则,该值是实现定义的。
如果目标类型是无符号的,则结果值是与源整数一致的最小无符号整数(模 2 n,其中 n 是用于表示无符号类型的位数)。
如果目标类型是带符号的,则如果该值可以在目标类型中表示,则该值不会改变;否则,该值是实现定义的。
到:
否则,结果是目标类型的唯一值,该值与源整数模 2 N一致,其中 N 是目标类型的范围指数。
归档时间:
6 年,2 月 前
查看次数:
149 次
最近记录: