。因為第一位是符號位 所以0111 1111是最大的數127,計算機中儲存的是補碼,正數的補碼還是原碼0111 1111 。 既然有127那麼就有-127。 -127的原碼是1111 1111,負數的補碼是原碼取反(符號位不取反)加1。 -127的原碼 1111 1111 反碼 1000 0000 補碼 1000 0001 下面解釋-128從哪來的: -0的原碼 1000 0000 反碼 1111 1111 補碼: 反碼加1以後就是1 0000 0000, 因為byte僅識別8位位元組,所以補碼是0000 0000。 +0的原碼 0000 0000 反碼補碼都0000 0000 因為日常生活中沒有-0, 所以規定0在計算機中表示為0000 0000。以0開頭的補碼已經全部使用,因為正數原碼補碼都一樣,所以0000 0000到0111 1111補碼已經全部佔用。以1開頭的原碼, 原碼 -1是1000 0001 -127是1111 1111 補碼 1111 1111 1000 0001即補碼1000 0001到補碼1111 1111是表示-127到-1,這時還剩下一串補碼 1000 0000就把這串碼錶示成-128, 也可以這樣想127……1存在,所以也有相應的,-1……-127存在,除去0,補碼還剩一串 1000 0000所以規定為-128。還有就是-128只有補碼10000000,沒有反碼和原碼。其實我也不知道對不對,我就想說一套比較合理的說法,把自己說服,不然有強迫症非要想知道為什麼。很煩的。
。因為第一位是符號位 所以0111 1111是最大的數127,計算機中儲存的是補碼,正數的補碼還是原碼0111 1111 。 既然有127那麼就有-127。 -127的原碼是1111 1111,負數的補碼是原碼取反(符號位不取反)加1。 -127的原碼 1111 1111 反碼 1000 0000 補碼 1000 0001 下面解釋-128從哪來的: -0的原碼 1000 0000 反碼 1111 1111 補碼: 反碼加1以後就是1 0000 0000, 因為byte僅識別8位位元組,所以補碼是0000 0000。 +0的原碼 0000 0000 反碼補碼都0000 0000 因為日常生活中沒有-0, 所以規定0在計算機中表示為0000 0000。以0開頭的補碼已經全部使用,因為正數原碼補碼都一樣,所以0000 0000到0111 1111補碼已經全部佔用。以1開頭的原碼, 原碼 -1是1000 0001 -127是1111 1111 補碼 1111 1111 1000 0001即補碼1000 0001到補碼1111 1111是表示-127到-1,這時還剩下一串補碼 1000 0000就把這串碼錶示成-128, 也可以這樣想127……1存在,所以也有相應的,-1……-127存在,除去0,補碼還剩一串 1000 0000所以規定為-128。還有就是-128只有補碼10000000,沒有反碼和原碼。其實我也不知道對不對,我就想說一套比較合理的說法,把自己說服,不然有強迫症非要想知道為什麼。很煩的。