日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

二補數 (2's complement)

系統 2651 0

二補數 (2's complement) :是一種用二進位表示有號數的方法,也是一種將數字的正負號變號的方式,常在計算機科學中使用。

一個數字的二補數就是將該數字作位元反向運算(即一補數),再將結果加 1,即為該數字的二補數。
在二補數系統中,一個負數就是用其對應正數的二補數來表示。

優點:二補數系統的最大優點是可以在加法或減法處理中,不需因為數字的正負而使用不同的計算方式。
????????? 只要一種加法電路就可以處理各種有號數加法,而且減法可以用一 個數加上另一個數的二補數來表示,因此只要有加法電路及二補數電路即可完成各種有號數加法及減法,在電路設計上相當方便。

特點:二補數系統的 0 只有一個表示方式,這點和一補數系統不同(在一補數系統中,0 有二種表示方式),因此在判斷數字是否為 0 時,只較比對一個不同的條件即可。

具體算法:(轉貼:原地址: http://entry.hit.edu.tw/~bd92046/new_page_1.htm

二補數轉換方法差異

方法1:

10進制轉2進制:

<1>直接將10進制轉為2進制,正負號省略。

<2>如果數目少於X bits,在左邊補0直到X bits。

<3>如果是正號,不需要其他動作。

?? 如果是負號,使用1補數:將0變1,1變0;1補數加1,形成2補數。

例(1):將+6以16bit儲存,使用2補數。

????????? +6 => 110 => 0000000000000110

例(2):將-125以16bit儲存,使用2補數。

????????? -125 => 1111101 => 0000000001111101

?????????????? => 1111111110000010 => 1111111110000011

2進制轉10進制:

<1>如果最左邊的bit是0(正數)。

??? 1-1…將數字由二進制轉為十進制。

??? 1-2…在數字前加+號。

例:將0000000000000110轉為十進制(使用2補數)

?????? 0000000000000110 => 6 => +6

<2>如果最左邊的bit是1 (負數)。

?? 2-1…2補數減1,變為1補數。

?? 2-2…將所有的0變1;1變0。

?? 2-3…將數字由2進制轉為10進制。

?? 2-4…在數字前加-號。

例:將1111111110000100轉為十進制(使用2補數)

?????? 1111111110000011 => 1111111110000010

??????????????????????? => 0000000001111101 => 125 => -125

方法2:

10進制轉2進制:

<1>將數字改為2進制;正負號省略。

<2>如果數目少於X bits,在左邊補0直到X bits。

<3>如果是正號,不需要其他動作。

?? 如果是負號,維持最右邊的0直到第一個1(包含)不變,其餘的皆變換。

?? (0變1,1變0)

例(1):將+6以16bit儲存,使用2補數

???????? +6 => 110 => 0000000000000110

例(2):將-125以16bit儲存,使用2補數

???????? -125 => 1111100 => 0000000001111100 => 1111111110000100

2進制轉10進制:

<1>如果最左邊的bit是0 (正數)。

1-1…將數字由2進制轉為10進制。

1-2…在數字前加+號。

例:將0000000000000110轉為10進制(使用2補數)

?????? 0000000000000110 => 6 => +6

<2>如果最左邊的bit是1 (負數)。

2-1…維持最右邊的bits不變直到第一個1(包含),其餘的皆變換。

??? (0變1,1變0)。

2-2…將數字由2進制轉為10進制。

2-3…在數字前加-號。

例1111111110000011轉為10進制(使用2補數)

?? 1111111110000010 => 0000000001111101 => 125 => -125

二者之間的差異

10進制轉2進制:

方法1需要先轉換到1補數,再用1補數+1轉為2補數,使用上較為簡單,

??????? 但計算速度比較慢。

方法2就直接轉換成2補數,在使用上比較容易出錯,不過計算速度會比較快。

2進制轉10進制:

方法1須先使-1變為1補數,然後才能轉換成10進制,計算較為簡單,計算速度緩慢。

方法2可以直接轉換,比較容易出錯,但計算速度較快。

二補數 (2's complement)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 微山县| 二手房| 乌兰察布市| 讷河市| 平阳县| 科技| 阿克苏市| 台州市| 搜索| 凭祥市| 平利县| 巩留县| 建水县| 拜泉县| 定兴县| 施秉县| 紫金县| 会昌县| 信丰县| 余庆县| 呼和浩特市| 松江区| 安图县| 宕昌县| 集贤县| 湘西| 东莞市| 兴国县| 和顺县| 辉南县| 玛沁县| 吉安市| 惠东县| 白城市| 扬州市| 靖边县| 武清区| 都安| 泊头市| 武山县| 伊吾县|