国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C語言基礎(chǔ) 原碼、反碼、補(bǔ)碼和移碼詳解

2020-05-23 13:53:51
字體:
供稿:網(wǎng)友

 原碼、反碼、補(bǔ)碼、移碼的作用?

   在計算機(jī)內(nèi),機(jī)器數(shù)有無符號和帶符號數(shù)之分。無符號數(shù)表示正數(shù),在機(jī)器數(shù)中沒有符號位。位于無符號數(shù),若約定小數(shù)點的位置在機(jī)器數(shù)的最低位之后,則是純整數(shù);若約定小數(shù)點的位置在機(jī)器數(shù)的最高位之前,則是純小數(shù)。對于帶符號數(shù),機(jī)器數(shù)的最高位是表示正、負(fù)的符號位,其余位則表示數(shù)值。若約定小數(shù)點的位置在機(jī)器數(shù)的最低數(shù)值位之后,則是純整數(shù);若約定小數(shù)點的位置在機(jī)器數(shù)的最高數(shù)值位之前(符號位之后),則是純小數(shù)。

   為了便于運(yùn)算,帶符號位的機(jī)器數(shù)可采用原碼、反碼和補(bǔ)碼等不同的編碼方法,機(jī)器數(shù)的這些編碼方法稱為碼制。

   原碼、反碼、補(bǔ)碼、移碼如何表示?

   舉例:[+45]原=00101101       -45=10101101 (以下所有例子都為這兩個數(shù)的變換)

   原碼:

   原碼表示法在數(shù)值前面增加了一位符號位(即最高位為符號位):正數(shù)該位為0,負(fù)數(shù)該位為1(0有兩種表示:+0和-0),其余位表示數(shù)值的大小。

   舉例:[+45]原=00101101       [-45]原=10101101

   反碼: 反碼是數(shù)值存儲的一種,但是由于補(bǔ)碼更能有效表現(xiàn)數(shù)字在計算機(jī)中的形式,所以多數(shù)計算機(jī)一般都不采用反碼表示數(shù)。

   反碼表示法規(guī)定:正數(shù)的反碼與其原碼相同;負(fù)數(shù)的反碼是對其原碼逐位取反,但符號位除外。

    舉例:[+45]反=00101101       [-45]反=11010010

   補(bǔ)碼:在計算機(jī)系統(tǒng)中,數(shù)值一律用補(bǔ)碼來表示和存儲。原因在于,使用補(bǔ)碼,可以將符號位和數(shù)值域統(tǒng)一處理;同時,加法和減法也可以統(tǒng)一處理。此外,補(bǔ)碼與原碼相互轉(zhuǎn)換,其運(yùn)算過程是相同的,不需要額外的硬件電路。

   反碼表示法規(guī)定:正數(shù)的補(bǔ)碼與其原碼相同;一種簡單的方式,符號位保持1不變,數(shù)值位從右邊數(shù)第一個1及其右邊的0保持不變,左邊按位取反。也可以從反碼推補(bǔ)碼,就是在反碼的基礎(chǔ)上加1。

   舉例:[+45]補(bǔ)=00101101       [-45]補(bǔ)=11010011

   移碼:

   移碼(又叫增碼)是符號位取反的補(bǔ)碼,一般用做浮點數(shù)的階碼,引入的目的是為了保證浮點數(shù)的機(jī)器零為全0。這個不分正負(fù)。

   舉例:[+45]移=10101101       [-45]移=01010011

   以上就是機(jī)器碼的原碼、反碼、補(bǔ)碼和移碼的表示方法,其實這些表示方法都是為了讓計算機(jī)的運(yùn)算更加方便。

 感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宜章县| 土默特左旗| 旬阳县| 泰兴市| 荣成市| 竹北市| 丹棱县| 长海县| 漳平市| 北碚区| 安新县| 罗平县| 慈利县| 桦南县| 宿松县| 安丘市| 文登市| 乌兰察布市| 三门县| 八宿县| 德庆县| 合阳县| 怀仁县| 卢氏县| 昭苏县| 荣成市| 界首市| 福安市| 西畴县| 岑巩县| 苏尼特右旗| 紫金县| 牟定县| 赫章县| 定结县| 长治市| 漾濞| 游戏| 保德县| 大洼县| 姜堰市|