91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

計算機(jī)為什么要使用補碼

strongerHuang ? 來源:C語言與CPP編程 ? 作者:自成一派123 ? 2021-09-12 16:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

人類在制造出晶體管后,利用晶體管制造出了與非門,然后又利用與非門制造出了加法器。加法器解決了加法運算問題。只有加法器是不夠的,還需要解決減法的計算問題,但是與加法器相比,設(shè)計減法器硬件更為復(fù)雜,增加了計算的時間,能不能用加法器實現(xiàn)減法器的功能?這個實現(xiàn)的過程就用到了補碼。

計算機(jī)為什么使用補碼?采用補碼可以簡化計算機(jī)硬件電路設(shè)計的復(fù)雜度。

對于有符號數(shù),內(nèi)存要區(qū)分符號位和數(shù)值位,要是能把符號位和數(shù)值位等同起來,讓它們一起參與運算,不再加以區(qū)分,只用加法器就可以同時實現(xiàn)加法和減法運算,這樣硬件電路就變得簡單了。

8 - 3 等價于 8 + (-3),12 - (-9) 等價于 10 + 9。

簡化硬件電路的代價就是有符號數(shù)在存儲和讀取時都要進(jìn)行轉(zhuǎn)化。這個轉(zhuǎn)換過程就涉及到我們熟悉的原碼、反碼、補碼。

原碼將一個整數(shù)轉(zhuǎn)換成二進(jìn)制形式,就是其原碼。例如short a = 5;,a 的原碼就是0000 0000 0000 0101;更改 a 的值a = -19;,此時 a 的原碼就是1000 0000 0001 0011。

通俗的理解,原碼就是一個整數(shù)本來的二進(jìn)制形式。

反碼正數(shù)與負(fù)數(shù)的反碼不一樣。

對于正數(shù),它的反碼就是其原碼(原碼和反碼相同);負(fù)數(shù)的反碼是將原碼中除符號位以外的所有位(數(shù)值位)取反,也就是 0 變成 1,1 變成 0。例如 short a = 5;,a 的原碼和反碼都是 0000 0000 0000 0101;更改 a 的值 a = -19;,此時 a 的反碼是 1111 1111 1110 1100。

為什么需要反碼,反碼的作用就相當(dāng)于數(shù)學(xué)中的負(fù)數(shù),有了負(fù)數(shù),才可以實現(xiàn)減法與加法運算統(tǒng)一成加法運算。

補碼有了反碼為什么還需要補碼

因為 “0” 這個特殊數(shù)字的存在。

將減法運算按加法運算處理,負(fù)數(shù)需要用反碼表示,那么用 8 位二進(jìn)制反碼表示的正數(shù)范圍:+0 —— +127;負(fù)數(shù)范圍:-127 —— -0。但是,其中有兩個特殊的編碼會出現(xiàn):

[0_0000000]=+0 (反碼)

[1_1111111]=-0 (反碼)

+0 和 -0 代表的都是 0。這樣一來,“0” 這個數(shù)字在計算機(jī)中的編碼就不是唯一的了。對于計算機(jī)來說,這是絕對不行的,因為任何數(shù)字都只能有 1 個編碼。

我們知道 0 既不是正數(shù)也不是負(fù)數(shù),為了解決這個編碼不唯一的問題,把 0 當(dāng)成正數(shù),也即 +0,這樣 0 的編碼就變成:0_0000000。那 8 位二進(jìn)制表示的正數(shù)范圍仍然是:+0 —— +127。負(fù)數(shù)整體向后“挪動1位”,反碼 +1,{1_1111111}編碼就不再表示 -0,而變成了 -1。順著推,最小的編碼{1_0000000}就是 -128,8 位二進(jìn)制表示的負(fù)數(shù)范圍從:-127 —— -0 變成:-128 —— -1,就能成功解決問題。

這種操作好像是在反碼上打了“補丁”,進(jìn)行了一下修正,所以稱之為補碼,補碼定義如下:

1.正數(shù)的補碼保持原碼不變:5 = 0_000 0000 0000 0101

2.負(fù)數(shù)先求反碼,然后再加1:-19 = 1_111 1111 1110 1100 + 1 = 1_111 1111 1110 1101

5 - 19 的計算過程:

0_000 0000 0000 0101 + 1_111 1111 1110 1101 = 1_111 1111 1111 0010;

將補碼轉(zhuǎn)換為原碼也很簡單:先減去 1,再將數(shù)值位取反即可。

1_111 1111 1111 0010 逆向轉(zhuǎn)換原碼是:1000 0000 0000 1110 = -14

采用補碼成功解決了數(shù)字 0 在計算機(jī)中非唯一編碼的問題,也實現(xiàn)了減法變加法。

總結(jié)補碼是為了解決負(fù)數(shù)在計算機(jī)中的表示問題,最終是為了解決計算機(jī)的減法運算問題。計算機(jī)中采用了補碼的根本原因是,“設(shè)計硬件簡單!”

不浪費編碼個數(shù);

省去計算機(jī)判斷符號位或者說判斷+/-運算的麻煩。

有了補碼,對加減運算,硬件上,只有一種加法器就行了;

有了加減運算,用程序就可以實現(xiàn)乘除運算,不用額外增加硬件;

有了加減乘除運算,用程序就可以實現(xiàn)“所有”算術(shù)運算了,不用額外增加硬件。

責(zé)任編輯:haq

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

    關(guān)注

    173

    文章

    6077

    瀏覽量

    178437
  • 計算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7809

    瀏覽量

    93219
  • 晶體管
    +關(guān)注

    關(guān)注

    78

    文章

    10396

    瀏覽量

    147819

原文標(biāo)題:計算機(jī)為什么要用補碼?

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    十進(jìn)制計算機(jī)硬件體系結(jié)構(gòu)及“獨值”量化邏輯運算革命(一)

    采用“獨值”量化邏輯理論設(shè)計十進(jìn)制數(shù)字計算機(jī),十進(jìn)制網(wǎng)絡(luò)計算機(jī),十進(jìn)制模擬計算機(jī),十進(jìn)制模糊計算機(jī),實現(xiàn)計算機(jī)類型多樣化,
    的頭像 發(fā)表于 01-29 09:13 ?984次閱讀
    十進(jìn)制<b class='flag-5'>計算機(jī)</b>硬件體系結(jié)構(gòu)及“獨值”量化邏輯運算革命(一)

    工控機(jī)與普通計算機(jī)的核心差異解析

    在工業(yè)自動化和智能制造領(lǐng)域,計算機(jī)設(shè)備作為核心控制單元,其選擇直接影響整個系統(tǒng)的穩(wěn)定性與可靠性。工控機(jī)與普通計算機(jī)雖同屬計算設(shè)備,但其設(shè)計目標(biāo)、性能側(cè)重和應(yīng)用場景存在根本性差異。準(zhǔn)確理解這些差異,是進(jìn)行正確設(shè)備選型的基礎(chǔ)。
    的頭像 發(fā)表于 11-25 14:45 ?1789次閱讀
    工控機(jī)與普通<b class='flag-5'>計算機(jī)</b>的核心差異解析

    龍架構(gòu)計算機(jī)系統(tǒng)能力核心課程教學(xué)研討會圓滿舉行

    2025年11月8日,由教育部計算機(jī)類專業(yè)系統(tǒng)能力課程群虛擬教研室指導(dǎo)、北京航空航天大學(xué)計算機(jī)學(xué)院主辦的龍架構(gòu)計算機(jī)系統(tǒng)能力核心課程教學(xué)研討會在京舉行。
    的頭像 發(fā)表于 11-14 13:52 ?651次閱讀

    貿(mào)澤電子開售全新Arduino UNO Q單板計算機(jī)

    貿(mào)澤電子開售全新Arduino UNO Q單板計算機(jī)。Arduino UNO Q單板計算機(jī)(SBC)將高性能計算與實時控制結(jié)合,提供理想的創(chuàng)新平臺。
    的頭像 發(fā)表于 11-08 09:50 ?1359次閱讀

    【作品合集】賽昉科技VisionFive 2單板計算機(jī)開發(fā)板測評

    賽昉科技VisionFive 2單板計算機(jī)開發(fā)板測評作品合集 產(chǎn)品介紹: 昉·星光 2是全球首款集成了3D GPU的高性能量產(chǎn)RISC-V單板計算機(jī),搭載昉·驚鴻-7110(型號:JH-7110
    發(fā)表于 09-04 09:08

    工業(yè)計算機(jī)的重要性

    工業(yè)計算機(jī)對某些行業(yè)至關(guān)重要。我們將在下面詳細(xì)解釋這些行業(yè)中的工業(yè)計算機(jī)應(yīng)用。1.制造與工業(yè)自動化工業(yè)級計算機(jī)非常適合制造工廠,特別是那些想要自動化裝配過程的工廠。在這樣的環(huán)境中,工業(yè)計算機(jī)
    的頭像 發(fā)表于 07-28 16:07 ?580次閱讀
    工業(yè)<b class='flag-5'>計算機(jī)</b>的重要性

    自動化計算機(jī)經(jīng)過加固后有什么好處?

    讓我們討論一下部署堅固的自動化計算機(jī)的一些好處。1.溫度范圍寬自動化計算機(jī)經(jīng)過工程設(shè)計,配備了支持寬溫度范圍的組件,使自動化計算解決方案能夠在各種不同的極端環(huán)境中運行。自動化計算機(jī)能夠
    的頭像 發(fā)表于 07-21 16:44 ?628次閱讀
    自動化<b class='flag-5'>計算機(jī)</b>經(jīng)過加固后有什么好處?

    自動化計算機(jī)的功能與用途

    工業(yè)自動化是指利用自動化計算機(jī)來控制工業(yè)環(huán)境中的流程、機(jī)器人和機(jī)械,以制造產(chǎn)品或其部件。工業(yè)自動化的目的是提高生產(chǎn)率、增加靈活性,并提升制造過程的質(zhì)量。工業(yè)自動化在汽車制造中體現(xiàn)得最為明顯,其中許多
    的頭像 發(fā)表于 07-15 16:32 ?747次閱讀
    自動化<b class='flag-5'>計算機(jī)</b>的功能與用途

    工業(yè)計算機(jī)與商用計算機(jī)的區(qū)別有哪些

    工業(yè)計算機(jī)是一種專為工廠和工業(yè)環(huán)境設(shè)計的計算系統(tǒng),具有高可靠性和穩(wěn)定性,能夠應(yīng)對惡劣環(huán)境下的自動化、制造和機(jī)器人操作。其特點包括無風(fēng)扇散熱技術(shù)、無電纜連接和防塵防水設(shè)計,使其在各種工業(yè)自動化場景中
    的頭像 發(fā)表于 07-10 16:36 ?753次閱讀
    工業(yè)<b class='flag-5'>計算機(jī)</b>與商用<b class='flag-5'>計算機(jī)</b>的區(qū)別有哪些

    Blue Lion超級計算機(jī)將在NVIDIA Vera Rubin上運行

    德國萊布尼茨超算中心(LRZ)將迎來全新超級計算機(jī) Blue Lion,其算力比該中心現(xiàn)有的 SuperMUC-NG 高性能計算機(jī)提升了約 30 倍。這臺新的超級計算機(jī)將在 NVIDIA Vera Rubin 架構(gòu)上運行。
    的頭像 發(fā)表于 06-12 15:39 ?1157次閱讀

    NVIDIA技術(shù)賦能歐洲最快超級計算機(jī)JUPITER

    NVIDIA 宣布,搭載 NVIDIA Grace Hopper 平臺的 JUPITER 超級計算機(jī)成為歐洲最快超級計算機(jī),其運行 HPC 和 AI 工作負(fù)載的速度是第二名的兩倍以上。
    的頭像 發(fā)表于 06-12 15:33 ?1436次閱讀

    工業(yè)計算機(jī)如何設(shè)計用于沖擊和振動

    工業(yè)計算機(jī)是為挑戰(zhàn)消費級系統(tǒng)耐用性的環(huán)境而構(gòu)建的。在制造業(yè)、運輸業(yè)、國防和采礦業(yè)等領(lǐng)域,計算機(jī)面臨著持續(xù)的沖擊、振動和其他物理壓力。設(shè)計這些系統(tǒng)以在這種條件下保持可靠需要卓越的工程和創(chuàng)新技術(shù)。本文
    的頭像 發(fā)表于 05-19 15:27 ?504次閱讀
    工業(yè)<b class='flag-5'>計算機(jī)</b>如何設(shè)計用于沖擊和振動

    一文帶你了解工業(yè)計算機(jī)尺寸

    工業(yè)計算機(jī)是現(xiàn)代自動化、人工智能(AI)和邊緣計算的支柱。這些堅固耐用的系統(tǒng)旨在承受惡劣的環(huán)境,同時為關(guān)鍵應(yīng)用提供可靠的性能。然而,由于有這么多可用的外形尺寸,為您的工業(yè)計算機(jī)選擇合適的尺寸可能是
    的頭像 發(fā)表于 04-24 13:35 ?1052次閱讀
    一文帶你了解工業(yè)<b class='flag-5'>計算機(jī)</b>尺寸

    計算機(jī)網(wǎng)絡(luò)入門指南

    計算機(jī)網(wǎng)絡(luò)是指將地理位置不同且具有獨立功能的多臺計算機(jī)及其外部設(shè)備,通過通信線路連接起來,在網(wǎng)絡(luò)操作系統(tǒng)、網(wǎng)絡(luò)管理軟件及網(wǎng)絡(luò)通信協(xié)議的管理和協(xié)調(diào)下,實現(xiàn)資源共享和信息傳遞的計算機(jī)系統(tǒng)。
    的頭像 發(fā)表于 04-22 14:29 ?2266次閱讀
    <b class='flag-5'>計算機(jī)</b>網(wǎng)絡(luò)入門指南

    NVIDIA 宣布推出 DGX Spark 個人 AI 計算機(jī)

    臺式超級計算機(jī)由 NVIDIA Grace Blackwell 驅(qū)動,為開發(fā)者、研究人員和數(shù)據(jù)科學(xué)家提供加速 AI 功能;系統(tǒng)由頭部計算機(jī)制造商(包括華碩、Dell Technologies、HP
    發(fā)表于 03-19 09:59 ?788次閱讀
       NVIDIA 宣布推出 DGX Spark 個人 AI <b class='flag-5'>計算機(jī)</b>