例如0FFH,若作为8位带符号数,则表示-1;若作为16位带符号数,则表示255.
问题描述:
例如0FFH,若作为8位带符号数,则表示-1;若作为16位带符号数,则表示255.
答
应该看看微机原理,讲的很清楚
答
如果是8位,只能表示256个数(0-255),如果要带符号,就只好把128-255的那一段认为是负数。0FFh表示-1,080H表示 -127。 但是如果是16位的,只有07F FF H到 FFFFH 这段表示负数,0ffH还在正数的范围内,255。
答
若理解为16位,因为首位是0,所以是正数,其绝对值为11111111B(8个1),故为255.
若理解为8位,首位就是1,所以是负数,它的绝对值求反码再加1的结果是1111111B(这回是剩下的7个1了),即绝对值为0000001B,所以这个数是-1.