tft每日頭條

 > 圖文

 > 計算機導論原碼補碼講解

計算機導論原碼補碼講解

圖文 更新时间:2024-11-16 23:26:12

計算機導論原碼補碼講解?在計算機内,定點數有3種表示法:原碼、反碼和補碼,接下來我們就來聊聊關于計算機導論原碼補碼講解?以下内容大家不妨參考一二希望能幫到您!

計算機導論原碼補碼講解(為什麼設計了原碼還要設計反碼)1

計算機導論原碼補碼講解

為什麼會有原碼、反碼和補碼?

在計算機内,定點數有3種表示法:原碼、反碼和補碼

所謂原碼就是前面所介紹的二進制定點表示法,即最高位為符号位,“0”表示正,“1”表示負,其餘位表示數值的大小。

反碼表示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符号位除外。 補碼表示法規定:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。

正數的反碼和補碼都是和原碼相同

負數案例:

負數的反碼是将其原碼除符号位之外的各位求反

[-3]反=[10000011] 反=11111100

負數的補碼是将其原碼除符号位之外的各位求反之後在末位再加1。

[-3]補=[10000011] 補=11111101

一個數和它的補碼是可逆的。

為什麼有了原碼還要設計反碼和補碼?

計算機隻會加法不會減法!!!

計算機隻會加法不會減法!!!

計算機隻會加法不會減法!!!

所以兩個數的減法可以看成一個正數加一個負數,如果運算時将符号位和數據位隔開單獨運算,運算規則是十分複雜的。為了讓減法計算更簡單我們希望在計算時連同符号位一起運算。于是便有了反碼,比如下面的運算

1-1=【00000001】 【11111110】=【11111111】原碼為【10000000】代表-0,如果用反碼運算這裡0産生兩個結果

當然你算其他的減法也會出錯

于是便有了補碼

1-1=【00000001】 【11111111】=【00000000】完美解決了上面的問題

再來試一下

5-3=【00000101】 【11111101】=【00000010】

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved