例如0FFH,若作为8位带符号数,则表示-1;若作为16位带符号数,则表示255。

来源:百度知道 编辑:UC知道 时间:2024/06/05 08:16:22
能具体解释一下吗?不太理解?有什么区别吗?

若理解为16位,因为首位是0,所以是正数,其绝对值为11111111B(8个1),故为255.
若理解为8位,首位就是1,所以是负数,它的绝对值求反码再加1的结果是1111111B(这回是剩下的7个1了),即绝对值为0000001B,所以这个数是-1。

如果是8位,只能表示256个数(0-255),如果要带符号,就只好把128-255的那一段认为是负数。0FFh表示-1,080H表示 -127。 但是如果是16位的,只有07F FF H到 FFFFH 这段表示负数,0ffH还在正数的范围内,255。

应该看看微机原理,讲的很清楚