天天看點

聊一聊計算機的原碼,反碼,補碼什麼是原碼,反碼,補碼

什麼是原碼,反碼,補碼

此篇文章僅作為個人的學習筆記

**首先我們要明白,計算機是不會計算減法的,即使是減法它也會轉換成加法

例如:1-1 在計算機中 為1+(-1)**

什麼是原碼

原碼既站在使用者角度:最原始的二級制編碼

1. 使用者的數字分為正負數,符号位的存儲

2. 最高位為符号位:0代表為正數,1代表為負數

3. 1010 1001 左邊是高位,右邊是低位

計算機并不會以原碼的方式進行存儲,因為原碼存儲會導緻0有兩種狀态,并且正負數相加結果不正确。

聊一聊計算機的原碼,反碼,補碼什麼是原碼,反碼,補碼

什麼是反碼

反碼是為了計算補碼,它有以下規則:

  1. 正數的反碼和原碼是一樣
  2. 反碼在原碼基礎上,符号位不變,其它位取反(0為1, 1變0)

    例如:-2的原碼 1000 0010

    -2的反碼 1111 1101

    計算機也不會以反碼來存儲,因為反碼存儲會導緻0有兩種狀态

    聊一聊計算機的原碼,反碼,補碼什麼是原碼,反碼,補碼

于是在此誕生了補碼

計算機是以補碼的方式來存儲的,主要是為了解決負數的存儲,規則如下:

  1. 正數的原碼、反碼、補碼都一樣
  2. 負數的補碼為其反碼+1(1位元組為8位,舍棄最高位)
    聊一聊計算機的原碼,反碼,補碼什麼是原碼,反碼,補碼

原碼求補碼:(負數)

1.符号位不變,其他位取反

2.在上一部基礎上 +1

補碼求原碼:

1.先求反碼,求補碼的反碼,符号位不變,其它位取反

2.在上一部基礎上 +1

腳注

生成一個腳注1.

目錄

[TOC]

來生成目錄:

  • 什麼是原碼反碼補碼
    • 什麼是原碼
    • 什麼是反碼
    • 于是在此誕生了補碼
      • 腳注
      • 目錄
  1. Copyright © 2017, yuxiaomi, All Rights Reserved. ↩

繼續閱讀