第一个,三位八进制足以表示所有ASCII码 第二个,不是 第三个,语法上没有错误,'\0014'前三个数字和\构成转义字符,后一个4单独,这和'ab'类似,标准没有规定它的值到底是'a'呢还是'b'呢,全依赖编译器实现。
标准中说: 6.4.4.4 Character constants Syntax octal-escape-sequence: \ octal-digit \ octal-digit octal-digit \ octal-digit octal-digit octal-digit hexadecimal-escape-sequence: \x hexadecimal-digit hexadecimal-escape-sequence hexadecimal-digit 看来,八进制的最多3位,十六进制可以有多位 第二个问题,负数如果是用补码,编程无符号数解释时,上面给出的结果就是对的
[quote=引用 1 楼 wang0635 的回复:] 标准中说: 6.4.4.4 Character constants Syntax octal-escape-sequence: \ octal-digit \ octal-digit octal-digit \ octal-digit octal-digit octal-digit hexadecimal-escape-sequence: \x hexadecimal-digit hexadecimal-escape-sequence hexadecimal-digit 看来,八进制的最多3位,十六进制可以有多位 第二个问题,负数如果是用补码,编程无符号数解释时,上面给出的结果就是对的
(L"\x111")
[quote=引用 4 楼 yq_forever 的回复:] [quote=引用 1 楼 wang0635 的回复:] 标准中说: 6.4.4.4 Character constants Syntax octal-escape-sequence: \ octal-digit \ octal-digit octal-digit \ octal-digit octal-digit octal-digit hexadecimal-escape-sequence: \x hexadecimal-digit hexadecimal-escape-sequence hexadecimal-digit 看来,八进制的最多3位,十六进制可以有多位 第二个问题,负数如果是用补码,编程无符号数解释时,上面给出的结果就是对的
69,371
社区成员
243,080
社区内容
加载中
试试用AI创作助手写篇文章吧