美女露出让男生揉视频_狍和女人一级毛片免费的_欧美人欧美人妖videos12_护士潮湿的小内裤bd播放

liuxianhua
級別: 論壇先鋒
精華主題: 0
發帖數量: 611 個
工控威望: 1067 點
下載積分: 10234 分
在線時間: 572(小時)
注冊時間: 2008-11-19
最后登錄: 2013-02-22
查看liuxianhua的 主題 / 回貼
樓主  發表于: 2010-04-15 12:44
書上說16位數據寄存器的最高為符號位,0為正數1為負數,正數的最大值為32767,負數的最大值為-32768,這我就不明白了,除了符號位外,其他15位都為1時,加起來是32767,為什么負數能儲存最高數是-32768呢?懇請高手指點,謝謝,謝謝!!
sjm213
有小知識,無大學問。
級別: 論壇版主

精華主題: 7 篇
發帖數量: 5215 個
工控威望: 7439 點
下載積分: 159134 分
在線時間: 3174(小時)
注冊時間: 2007-11-21
最后登錄: 2025-01-03
查看sjm213的 主題 / 回貼
1樓  發表于: 2010-04-17 23:06
正數原碼與反碼、補碼一致;
負數反碼是將其原碼除符號位之外的各位求反,補碼是將反碼加1。
所以4樓的解釋是有問題的。
-5的二進制的原碼是 1000 0000 0000 0101
                        反碼是 1111  1111 1111 1010
                        補碼是 1111 1111 1111  1011
----------------------------------------------------------------------------------------------
以下轉載,解釋有符號的數范圍為何是-(n+1)~n:
為什么要設立補碼呢?

第一是為了能讓計算機執行減法:
[a-b]補=a補+(-b)補

第二個原因是為了統一正0和負0
正零:00000000
負零:10000000
這兩個數其實都是0,但他們的原碼卻有不同的表示。
但是他們的補碼是一樣的,都是00000000
特別注意,如果+1之后有進位的,要一直往前進位,包括符號位!(這和反碼是不同的!)
[10000000]補
=[10000000]反+1
=11111111+1
=(1)00000000
=00000000(最高位溢出了,符號位變成了0)

有人會問
10000000這個補碼表示的哪個數的補碼呢?
其實這是一個規定,這個數表示的是-128
所以n位補碼能表示的范圍是
-2^(n-1)到2^(n-1)-1
比n位原碼能表示的數多一個
本帖最近評分記錄:
  • 下載積分:+4(njaolian) 解釋太詳細了,不給對不 ..
    sjm213
    有小知識,無大學問。
    級別: 論壇版主

    精華主題: 7 篇
    發帖數量: 5215 個
    工控威望: 7439 點
    下載積分: 159134 分
    在線時間: 3174(小時)
    注冊時間: 2007-11-21
    最后登錄: 2025-01-03
    查看sjm213的 主題 / 回貼
    2樓  發表于: 2010-04-21 22:57
    樓上,要記住:
    在計算機系統中,數值一律用補碼來表示(存儲)。
    主要原因:使用補碼,可以將符號位和其它位統一處理;同時,減法也可按加法來處理。另外,兩個用補
    碼表示的數相加時,如果最高位(符號位)有進位,則進位被舍棄。
    ---------------------------------------
    所以在PLC的地址寄存器中賦值一個負數,在監控其各個位就會發現1、0的排布與其反碼一致!