国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

補碼究竟是什么?

這篇具有很好參考價值的文章主要介紹了補碼究竟是什么?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1 什么是補碼

計算機底層均是通過二進制表示數(shù)據(jù),原碼、反碼、補碼是計算機中對數(shù)字的二進制表示方法。計算機以二進制補碼的形式存儲整數(shù),最高位是符號位,0 表示正數(shù),1 表示負數(shù),其余位為數(shù)字位。

  • 原碼:將最高位作為符號位(0 表示正,1 表示負),其它數(shù)字位代表數(shù)值本身的絕對值的數(shù)字表示方式。

  • 反碼:如果是正數(shù),則表示方法和原碼一樣;如果是負數(shù),將其絕對值的原碼各位取反,則得到這個數(shù)字的反碼表示形式。

  • 補碼:如果是正數(shù),則表示方法和原碼一樣;如果是負數(shù),則將其反碼加上 1(相當于將原碼數(shù)值位取反,然后在最低位加 1)。

  • 正數(shù)的原碼、反碼、補碼完全一樣,只有負數(shù)需要按照以上規(guī)則計算。

  • 0 的反碼、補碼都為 0。

在計算機內(nèi)部使用固定數(shù)量的位來表示整數(shù):比如 32 或 64 ,簡單起見,我只考慮 8 位。以 8-bit 二進制數(shù)表示十進制整數(shù)。它的可表示范圍包括 - 128 到 127,即總共可以表示 256(2^8)個整數(shù)。

如計算 -3 的二進制補碼,先計算 3 的原碼 0000 0011,取反得到 1111 1100,再加 1 為 1111 1101。

數(shù)字

3

-3

原碼

0000 0011

1000 0011

反碼

0000 0011

1111 1100

補碼

0000 0011

1111 1101

2 為什么使用補碼

  1. 計算機為什么要用補碼表示負數(shù),而不是只改變正數(shù)的符號位,使用原碼表示負數(shù)進行計算呢? 用原碼表示負數(shù),看起來很簡單易懂,但是進行加減等計算時,就會很麻煩。 +3 原碼為 0000 0011,-3 原碼為 1000 0011,這兩個數(shù)相加,直觀上應該等于 0,但是相加結(jié)果為 0000 0011 + 1000 0011 = 1000 0110,2000 0110 不管怎么解釋都不會為 0。

  2. 使用原碼計算時,那么 0 就有兩種表示形式:正 0(0000 0000)和負 0(1000 0000),這顯然也是我們不愿看到的。

如果計算機內(nèi)部采用原碼來表示數(shù),那么在進行加法和減法運算的時候,需要轉(zhuǎn)化為兩個絕對值的加法和減法運算。計算機既要實現(xiàn)加法器,又要實現(xiàn)減法器,代價有點大,那么可不可以只用一種類型的運算器來實現(xiàn)加和減的遠算呢?

補碼的出現(xiàn),就是為了解決這個問題的,使得計算機通過使用加法器就可以得到實現(xiàn)符合直覺的結(jié)果。

采用補碼形式計算 +3-3 =,+3 補碼為 0000 0011,-3 補碼為 1111 1101,計算過程為 0000 0011 + 1111 1011 = 0000 0000,符合我們的直覺。

3 補碼的實現(xiàn)原理

補碼究竟是什么?

?

將時針從12點順時針撥2個小時,和順時針撥14個小時,和逆時針撥10個小時都是指向2,因為時鐘一圈是12個小時。

12 + 2 = 14; 12 + 14 = 26; 12 - 10 = 2

也就是說14、26、2在表盤上是相同的表現(xiàn)形式,將它們除以 12,得到相同的余數(shù) 2;12小時代表時鐘旋轉(zhuǎn)一周,在計算機里類似的概念叫模,它可以實現(xiàn)化減為加,本質(zhì)上是將溢出的部分舍去而不改變結(jié)果。

3.1 無符號二進制數(shù)

在計算機中使用 8 位無符號二進制數(shù),可以表示 0 ~ 255 之間的任意數(shù)字,一共 256 位數(shù)字,表示范圍的模為 256。在進行計算時,計算機只會讀取低 8 位的數(shù)據(jù),就會出現(xiàn)如下情況:1 與 257 的在此計算機看來是表現(xiàn)一樣的,因為任何大于 255 的數(shù)都不能用 8 位二進制表示,溢出的部分會被舍去。

補碼究竟是什么?

?

8 位二進制可以表示 256 個數(shù),把它們圍成一個圈,如下圖所示:

補碼究竟是什么?

?

可以看到 0000 0001 與 1 0000 0001 重疊在相同位置。

3.2 有符號二進制數(shù)

在計算機中使用 8 位有符號二進制數(shù),有符號數(shù)的表示范圍是-128~127。

如前所述,如果使用原碼表示整數(shù),那么進行加減運算時,有符號二進制數(shù)之間的運算需要制定與無符號二進制數(shù)不同的規(guī)則,否則得到的結(jié)果不符合直覺;但是用補碼表示整數(shù),有符號二進制數(shù)之間的運算有符號二進制數(shù)之間的運算則可以實現(xiàn)與無符號二進制數(shù)相同的計算規(guī)則。

補碼究竟是什么?

?

從 0 開始,往前走 n 步,和往后走 256-n 步,到達的是相同的位置。

無符號數(shù)和有符號數(shù)的模都是 256,1111 1111 表示無符號數(shù)的 255,也可以表示有符號數(shù)的 -1。

有了同余這個機制,無論是無符號數(shù)還是有符號數(shù),計算機都可以使用相同的規(guī)則進行計算,同樣的二進制輸入,肯定會得到同樣的計算結(jié)果,把計算結(jié)果看作是無符號還是有符號,計算機是不管的,是由我們說了算。而且這種表示方法也解決了 0 有兩種表現(xiàn)形式這個問題,0000 0000 表示 0,1000 0000 則為 -128。

比如對于二級制算式 1000 0000 + 0000 0111 = 1000 0111,我們可以看做是無符號數(shù)計算 128 + 7 = 135,也可以看做有符號數(shù)計算 (-128) + 7 = (-121)。

同樣的,二進制算式 0001 0000+1111 1101 = 1 0000 1101,可以看做是無符號數(shù)計算 16 + 253 = 13,也可以看做有符號數(shù)計算 16 +( -3) = 13。

補碼的本質(zhì):找到一個替代負數(shù)(-3)的正數(shù)(253),并用此正數(shù)的二進制形式參與運算,進行加法運算后,將得到的結(jié)果中溢出的數(shù)字舍去后,只讀取結(jié)果中固定位數(shù)(此處是 8 位)的二進制數(shù)作為運算的結(jié)果。

4 補碼的計算方法

  1. 正數(shù)的補碼與原碼相等。將最高位作為符號位,其余各位,其它數(shù)字位代表數(shù)值本身的絕對值。

  2. 負數(shù)的補碼有兩種計算方式

  • 先求出該負數(shù)絕對值的原碼,再全部取反得到該負數(shù)的反碼,最后加1即得補碼。

  • 負數(shù)N + 模M = sum,sum對應的無符號二進制數(shù)既是該負數(shù)的補碼。

第一種是根據(jù)補碼的定義計算,前面已經(jīng)詳細介紹。

第二種是引入模之后獲得的計算補碼的新方式:比如計算 -3 的二進制數(shù),256 + (-3) = 253,253 的無符號二進制形式為 1111 1101,因此 -3 的補碼就是 1111 1101。

添加文章封面算機運算是如此方便與優(yōu)雅,所以現(xiàn)代計算機系統(tǒng)統(tǒng)一采用這種數(shù)字表示方法。文章來源地址http://www.zghlxwxcb.cn/news/detail-434268.html

到了這里,關于補碼究竟是什么?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【趣話計算機底層技術】一個故事看懂各種鎖

    【趣話計算機底層技術】一個故事看懂各種鎖

    我是一個線程,一個賣票程序的線程。 自從我們線程誕生以來,同一個進程地址空間里允許有多個執(zhí)行流一起執(zhí)行,效率提升的同時,也引來了很多麻煩。 我們賣票線程的工作很簡單,比如票的總數(shù)是100,每賣一張就減1,直到變成0售完為止。 以前單線程的時候沒啥問題,

    2024年02月05日
    瀏覽(23)
  • 從今天起,換一種輕松有趣的方式學習計算機底層技術!

    從今天起,換一種輕松有趣的方式學習計算機底層技術!

    大家好,我是軒轅之風。 告訴大家一個好消息,我的? 《趣話計算機底層技術》 ?系列技術故事圖書終于出版了! ? 印刷廠新鮮出爐的第一批圖書,已經(jīng)上線京東、當當啦! ? 你還記得那個CPU一號車間的阿Q嗎?這一次它要繼續(xù)講故事給你聽啦! 我為什么要寫這本書呢? 在

    2024年02月08日
    瀏覽(23)
  • 【帶你深挖計算機底層邏輯,帶你認清CPU與主存之間的工作原理】

    【帶你深挖計算機底層邏輯,帶你認清CPU與主存之間的工作原理】

    計算機底層原理 文章目錄 系列文章目錄 前言 一、什么是主機 二、CPU 三、兩類存儲器 總結(jié) ? ? ? ? 帶你深入理解計算機底層原理,為日后寫出更健壯更安全更高效的代碼打下堅實的基礎,計算機硬件最底層的實現(xiàn)就如同建筑物的地基,清晰地掌握底層原理對大家將來編程

    2023年04月19日
    瀏覽(29)
  • 計算機視覺 計算機視覺識別是什么?

    計算機視覺 計算機視覺識別是什么?

    計算機視覺識別(Computer Vision Recognition)是計算機科學和人工智能領域中的一個重要分支,它致力于使計算機系統(tǒng)能夠模擬和理解人類視覺的過程,從而能夠自動識別、分析和理解圖像或視頻中的內(nèi)容。這一領域的發(fā)展旨在讓計算機具備視覺感知和理解的能力,使其能夠從視

    2024年02月07日
    瀏覽(23)
  • 什么是計算機視覺,計算機視覺的主要任務及應用

    什么是計算機視覺,計算機視覺的主要任務及應用

    目錄 1.?什么是計算機視覺 2.?計算機視覺的主要任務及應用 2.1?圖像分類 2.1.1?圖像分類的主要流程 2.2?目標檢測 2.2.1?目標檢測的主要流程 2.3?圖像分割 2.3.1?圖像分割的主要流程 2.4?人臉識別 2.4.1?人臉識別的主要流程 對于我們?nèi)祟悂碚f,要想認出身邊的一個人,首先需要

    2024年02月11日
    瀏覽(23)
  • 什么是計算機蠕蟲?

    什么是計算機蠕蟲?

    ? 計算機蠕蟲的誕生與計算機網(wǎng)絡的發(fā)展密切相關。20世紀60年代末和70年代初,互聯(lián)網(wǎng)還處于早期階段,存在著相對較少的計算機和網(wǎng)絡連接。然而,隨著計算機技術的進步和互聯(lián)網(wǎng)的普及,計算機網(wǎng)絡得以迅速擴張,連接的計算機數(shù)量也急劇增加。 這種廣泛的網(wǎng)絡連通性為

    2024年02月10日
    瀏覽(20)
  • 什么是虛擬計算機集群

    什么是虛擬計算機集群

    ????????這個問題來自近期幾位網(wǎng)友的私信,他們不約而同問到一個問題:什么是虛擬計算機集群?Laxcus分布式操作系統(tǒng)是如何做的?下面就正式回答一下這個問題。 ????????在我們傳統(tǒng)的認知里,或者大家平常比較多接觸的,都是基于單機系統(tǒng)的虛擬化。比如VMWare,

    2024年02月02日
    瀏覽(19)
  • 為什么計算機對浮點型數(shù)字計算存在誤差

    為什么計算機對浮點型數(shù)字計算存在誤差

    我們輸入的十進制小數(shù)在計算機中都是以二進制進行存儲。比如: 由此可見0.3在計算機中存儲的值永遠小于0.3,所以當使用0.3計算時,就會產(chǎn)生誤差。 在計算機中浮點型不能直接使用等號比較也是同一個道理。舉個李子: 執(zhí)行結(jié)果: 可以看出當涉及到0.3的運算超出一定的精

    2023年04月11日
    瀏覽(29)
  • 計算機視覺有什么發(fā)展方向

    計算機視覺主要涵蓋了圖像處理、模式識別等多個領域,可以應用到很多行業(yè)中。隨著人工智能技術的快速發(fā)展,計算機視覺作為其中的重要分支之一,其就業(yè)前景非常廣闊,所以說計算機視覺有很好的發(fā)展方向。 計算機視覺(Computer Vision)是一門研究如何讓計算機能夠理解

    2024年01月23日
    瀏覽(19)
  • 計算機專業(yè)學習的核心是什么?

    計算機專業(yè)學習的核心是什么?

    既然是學習CS,那么在這里,我粗淺的把計算機編程領域的知識分為三個部分: 基礎知識 特定領域知識 框架和開發(fā)技能 基礎知識是指不管從事任何方向的軟件工程師都應該掌握的,比如數(shù)據(jù)結(jié)構(gòu)、算法、操作系統(tǒng)。 特定領域知識就是你從事某個細分方向時需要掌握的知識,

    2024年02月07日
    瀏覽(36)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包