我正在阅读C++编程语言,其中Stroustrup声明char的int值可以在0到255或-127到127之间,具体取决于实现.它是否正确?它似乎应该是从-128到127.如果不是,为什么在第二种实现可能性中它们只有255个可能的值,而不是256.
你陷入了两个补充思维--C++标准没有定义用于负数的表示!
如果您的计算机(上帝禁止)使用1的补码来表示负数,则在8位字节中的范围为-127到+ 127.从好的方面来说,你有两个不同的可能表示零...
但是,在现实世界中,你不太可能遇到一台补充计算机.