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

问题描述:

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

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