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

首頁 > 編程 > C > 正文

C語言基礎 原碼、反碼、補碼和移碼詳解

2020-01-26 14:16:29
字體:
來源:轉載
供稿:網友

 原碼、反碼、補碼、移碼的作用?

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

   為了便于運算,帶符號位的機器數可采用原碼、反碼和補碼等不同的編碼方法,機器數的這些編碼方法稱為碼制。

   原碼、反碼、補碼、移碼如何表示?

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

   原碼:

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

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

   反碼: 反碼是數值存儲的一種,但是由于補碼更能有效表現數字在計算機中的形式,所以多數計算機一般都不采用反碼表示數。

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

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

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

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

   舉例:[+45]補=00101101       [-45]補=11010011

   移碼:

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

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

   以上就是機器碼的原碼、反碼、補碼和移碼的表示方法,其實這些表示方法都是為了讓計算機的運算更加方便。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 出国| 浦东新区| 阿合奇县| 茂名市| 始兴县| 花莲县| 丹凤县| 遂宁市| 上杭县| 陆川县| 河曲县| 沂源县| 井冈山市| 建水县| 富民县| 黑水县| 化州市| 行唐县| 新兴县| 凤台县| 临洮县| 南城县| 循化| 崇文区| 天峨县| 天全县| 于田县| 潞城市| 拜泉县| 开鲁县| 朔州市| 陵水| 米脂县| 根河市| 枞阳县| 武冈市| 韩城市| 鄂尔多斯市| 宝鸡市| 关岭| 金昌市|