0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

計算機的原碼和反碼及補碼到底是什么

Wildesbeast ? 來源:今日頭條 ? 作者:算法集市 ? 2020-02-12 16:31 ? 次閱讀

數(shù)據(jù)在計算機里面都是以0和1存儲和運算的,這是馮諾依曼體系的基礎(chǔ)。

比如一個數(shù)在計算機中若有正負之分,則用一個數(shù)的最高位(符號位)用來表示它的正負,其中0表示正數(shù),1表示負數(shù)。

原碼就是整數(shù)絕對值的二進制形式,為了解決計算機中有負數(shù)的運算,提出了反碼、補碼。

1、原碼

原碼就是符號位加上真值的絕對值,第一位表示符號,其余位表示值。對于4位的二進制,其取值范圍就是[1000,0111],即[-8,7]。

+5的原碼:0101

-5的原碼:1101

2、反碼

正數(shù)的反碼是其本身。

負數(shù)的反碼是在其原碼的基礎(chǔ)上,符號位不變,其余位取反。

+5的反碼:0101

-5的反碼:1010

可見如果一個反碼表示的是負數(shù),是無法直觀地看出來它的數(shù)值,通常要將其先轉(zhuǎn)換成原碼再計算。

3、補碼

正數(shù)的補碼還是其本身。

負數(shù)的補碼是在其原碼的基礎(chǔ)上,符號位保持不變,其余位取反,最后+1。即反碼加1。

+5的補碼:0101

-5的補碼:1011

綜上,計算機有三種編碼方式來表示同一個數(shù)。

對于+5和-5,

[+5] = [0101]原 = [0101]反 = [0101]補

[-5] = [1101]原 = [1010]反 = [1011]補

計算機采用補碼的形式來表示負數(shù)。欲知為何如此,請閱讀計算機為何采用補碼的形式來表示負數(shù)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 二進制
    +關(guān)注

    關(guān)注

    2

    文章

    786

    瀏覽量

    41564
  • 計算機
    +關(guān)注

    關(guān)注

    19

    文章

    7360

    瀏覽量

    87633
收藏 人收藏

    評論

    相關(guān)推薦

    原碼、補碼、反碼、有符號數(shù)、無符號數(shù)概念.pdf

    原碼補碼、反碼、有符號數(shù)、無符號數(shù)概念.pdf
    發(fā)表于 11-15 08:44

    計算機中原碼反碼,補碼之間的關(guān)系

    首先提幾個概念: 原碼,反碼,補碼     原碼是什么?      原碼就是早期用來表示數(shù)字的一種方式: 一個正數(shù),轉(zhuǎn)換為二進制位就是這個正
    發(fā)表于 09-17 10:00

    原碼反碼補碼的詳細理解

    `一. 機器數(shù)和真值在學(xué)習(xí)原碼, 反碼補碼之前, 需要先了解機器數(shù)和真值的概念.1、機器數(shù)一個數(shù)在計算機中的二進制表示形式,叫做這個數(shù)的機器數(shù)。機器數(shù)是帶符號的,在
    發(fā)表于 11-16 15:32

    補碼是什么 補碼原碼的轉(zhuǎn)化

    計算機中的有符號數(shù)有三種表示方法,即原碼反碼補碼。三種表示方法均有符號位和數(shù)值位兩部分,符號位都是用0表示“正”,用1表示“負”,而數(shù)值位,三種表示方法各不相同。在
    發(fā)表于 12-11 17:45

    單片機的重要功能/組成

    1. 數(shù)制為更好描述和記憶微型計算機的地址,代碼一般采用十六進制.原碼,反碼補碼正數(shù)的反碼補碼
    發(fā)表于 11-18 08:49

    什么是原碼、反碼補碼

    文章目錄1 前言2 什么是原碼反碼補碼2.1 原碼表示法2.2 反碼表示法2.3 補碼表示法
    發(fā)表于 12-15 07:00

    計算機原碼反碼及其補碼是干啥的?

      很多人都只知道計算機使用的是二進制,但很少有了解到計算機是以補碼的方式進行存儲數(shù)據(jù)的?! 〔贿^補碼是通過原碼
    發(fā)表于 04-13 17:04

    計算機為什么使用補碼的形式來表示負數(shù)

    計算機有三種編碼方式來表示同一個數(shù): 原碼:符號位加上真值的絕對值,第一位表示符號,其余位表示值。 反碼:正數(shù)的反碼是其本身;負數(shù)的反碼
    的頭像 發(fā)表于 02-12 15:28 ?8922次閱讀

    深入探求反碼補碼

    本篇文章講解了計算機原碼, 反碼補碼。 并且進行了深入探求了為何要使用反碼補碼, 以及更進
    的頭像 發(fā)表于 09-15 15:23 ?1278次閱讀

    計算機為什么要使用補碼

    ,增加了計算的時間,能不能用加法器實現(xiàn)減法器的功能?這個實現(xiàn)的過程就用到了補碼。 計算機為什么使用補碼?采用補碼可以簡化
    的頭像 發(fā)表于 09-12 16:06 ?7488次閱讀

    單片機(STC系列8051內(nèi)核單片機)

    1. 數(shù)制為更好描述和記憶微型計算機的地址,代碼一般采用十六進制.原碼,反碼補碼正數(shù)的反碼補碼
    發(fā)表于 11-11 12:51 ?1次下載
    單片機(STC系列8051內(nèi)核單片機)

    【2021-04-05】二進制中的原碼反碼補碼與二進制數(shù)的左移右移

    二進制中原碼補碼與左移右移
    發(fā)表于 01-12 18:28 ?13次下載
    【2021-04-05】二進制中的<b class='flag-5'>原碼</b><b class='flag-5'>反碼</b><b class='flag-5'>補碼</b>與二進制數(shù)的左移右移

    計算機原碼、反碼、補碼的概念

    計算機內(nèi)部數(shù)值是以補碼的方式進行存儲的,采用補碼進行數(shù)據(jù)存儲當(dāng)然有其優(yōu)點,下面會一一介紹相關(guān)內(nèi)容,讓各位徹底弄懂原碼、反碼
    的頭像 發(fā)表于 01-09 12:25 ?3675次閱讀
    <b class='flag-5'>計算機</b><b class='flag-5'>原碼</b>、<b class='flag-5'>反碼</b>、<b class='flag-5'>補碼</b>的概念

    計算機為什么利用反碼來實現(xiàn)減法?

    計算機為什么利用反碼來實現(xiàn)減法? 計算機在實現(xiàn)減法運算時利用反碼的原因可以從歷史背景、計算機設(shè)計優(yōu)勢和運算規(guī)則等方面來分析。 1. 歷史背景
    的頭像 發(fā)表于 02-19 15:10 ?735次閱讀

    二進制補碼及與原碼的互相轉(zhuǎn)換方法

    表示負數(shù)。其余位表示數(shù)值的大小。 二進制補碼?是一種用于表示有符號整數(shù)的二進制編碼方式,常用于?計算機系統(tǒng)中。在補碼系統(tǒng)中,一個數(shù)字的補碼是通過對其
    的頭像 發(fā)表于 09-19 22:25 ?339次閱讀