在这个时代的大多数实现中,符号位的位模式为1且值位为0的有符号整数值往往表示该有符号整数类型的最低可能值。
然而,正如6.2.6.2p3所述,这不是一项要求:
其中哪一个适用于实现定义,符号位1和所有值位0(前两个)的值,或符号位和所有值位1(对于补码)是否为陷阱表示或正常值。
我的第一个问题很简单:是否有任何实现将此位模式用于负零或陷阱表示?如果这个问题的答案是'不',那么我的后续问题的答案也必须是“不”。
继续该问题后,{{3}}指出当一个负零被分配给一个对象时,它可能(或可能不会)被转换为常规零:
未指明这些情况是否实际产生负零或正常零,以及当存储在对象中时负零是否变为正常零。
我的后续问题:
编辑以澄清:我 NOT 询问在使用补码,二进制补码或有符号整数的符号和幅度表示的系统中理论上可行的内容。我可以在本问题前面引用的章节中找到(并且已经找到)这些信息。我问的是实际做了什么。
答案 0 :(得分:1)
正如评论中Iskar Jarak提请我注意的那样,最近于2015年2月发布的OS2200有一个名为 UCS C 的C实现,其中the manual个文件
总之,......
是否有任何实现将此位模式用于负零或陷阱表示?
是。提供的示例可以将此位模式用于负零或陷阱表示,具体取决于编译器一致性选项。
对于后续问题1& 2,OS2200上的UCS C就是这两个问题的一个例子。
关于问题3,要在另一天回答......我的时间已到此结束:)