我正在读一本关于C的书,在某些部分它说:“按位操作通常与无符号类型一起使用。”。
问题:为什么?
答案 0 :(得分:5)
仅仅因为没有立即清楚签名号的符号位上的位操作应该是什么意思。
答案 1 :(得分:0)
从编程语言的角度来看,无符号并不意味着它不能是负面的。这意味着,该数字的第一位不用于确定该值是负还是正。
因此,对于8位值,按位运算符考虑所有8位,因此工作在0..255范围内(而数学运算符可以将第一位视为符号指示符,因此工作在一个范围-128到+127)。
答案 2 :(得分:0)
无符号操作数没有任何特殊位用于符号表示。
对于带符号的操作数,符号表示的特殊位可能会中断我们想要执行的操作。