0FFh为什么等于-1?

来源:百度知道 编辑:UC知道 时间:2024/06/04 05:03:30

在计算机中,负数以其正值的补码形式表示。
1的反码:0000 0001
补码:1111 1111
所以0ffh就是-1了。

延伸:
当用8位的16进制来表示带符号数,其负数范围为-1到-128,就是简单的把128-255的那一段认为是负数。在计算机表示用其补码。
1000 0000 原码为-0,补码为-128,即当80h为8位的16进制就表示为-128
但当0ffh为16位16进制时, 只有07F FF H到 FFFFH 这段表示负数,0ffH还在正数的范围内,则表示255

在计算机中,负数以其正值的补码形式表示。
1的反码:0000 0001
补码:1111 1111
所以0ffh就是-1了。
进一步来讲,当用8位的16进制来表示带符号数,其负数范围为-1到-128,就是简单的把128-255的那一段认为是负数。在计算机表示用其补码。
1000 0000 原码为-0,补码为-128,即当80h为8位的16进制就表示为-128
但当0ffh为16位16进制时, 只有07F FF H到 FFFFH 这段表示负数,0ffH还在正数的范围内,则表示255