找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1692|回復(fù): 4
收起左側(cè)

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

[復(fù)制鏈接]
ID:63113 發(fā)表于 2024-9-19 22:31 | 顯示全部樓層 |閱讀模式
補碼.png

大沙把一些基礎(chǔ)的知識說清楚,本文介紹二進制補碼及與原碼的轉(zhuǎn)換方法。
先說原碼,原碼‌是一種計算機中對數(shù)字的二進制定點表示方法。在原碼表示法中,數(shù)值前面增加了一位符號位,最高位為符號位,0表示正數(shù),1表示負數(shù)。其余位表示數(shù)值的大小。
二進制補碼‌是一種用于表示有符號整數(shù)的二進制編碼方式,常用于‌計算機系統(tǒng)中。在補碼系統(tǒng)中,一個數(shù)字的補碼是通過對其原碼進行位取反(即一補數(shù)或反碼),然后再加1得到的。補碼的最大優(yōu)點是可以在加法或減法處理中,不需要因為數(shù)字的正負而使用不同的計算方式。‌正數(shù)的補碼與原碼相同,負數(shù)的補碼是其反碼加1‌。‌
‌補碼的計算方法‌:
·‌正數(shù)的補碼‌:與原碼相同。例如,+9的8位二進制補碼是00001001。
·‌負數(shù)的補碼‌:首先對負數(shù)的原碼進行位取反(除了符號位),然后再加1。例如,-9的8位二進制補碼是11110110。
‌補碼在計算機系統(tǒng)中的應(yīng)用‌:
在計算機系統(tǒng)中,所有的整數(shù)都是以二進制補碼的形式存儲和計算的。使用補碼可以簡化加減法運算,因為減法可以通過加上一個數(shù)的補碼來實現(xiàn)。此外,補碼系統(tǒng)中的0只有一種表示方式,這使得判斷一個數(shù)是否為0更為簡單。
回復(fù)

使用道具 舉報

ID:1064915 發(fā)表于 2024-9-20 08:50 | 顯示全部樓層
‌-9的8位二進制補碼是11110111。‌‌

補碼的計算過程
‌原碼‌:正數(shù)的原碼就是其本身,負數(shù)的原碼是其絕對值的二進制表示。例如,9的原碼是00001001,-9的原碼是10001001。
‌反碼‌:正數(shù)的反碼與原碼相同,負數(shù)的反碼是其原碼的每一位取反(0變1,1變0),符號位除外。例如,-9的反碼是11110100。
‌補碼‌:補碼是反碼加1。例如,-9的補碼是11110100 + 1 = 11110101,但這是8位二進制表示的錯誤表示,實際正確的補碼是11110111。
通過上述步驟,我們可以得到-9的8位二進制補碼為11110111。
回復(fù)

使用道具 舉報

ID:514317 發(fā)表于 2024-10-2 13:33 | 顯示全部樓層
原碼‌10001001---反面碼11110110----補碼11110111     應(yīng)該是這個過程吧  
回復(fù)

使用道具 舉報

ID:278457 發(fā)表于 2024-10-4 02:41 | 顯示全部樓層
對的,謝謝學(xué)習到了。
回復(fù)

使用道具 舉報

ID:496636 發(fā)表于 2024-10-5 13:36 | 顯示全部樓層
通俗的說一下吧,如果是二位十進制,你可以表示0-99之間的整數(shù),如果想表示負數(shù),那只能表示一半的整數(shù)和一半的負數(shù)了。差個負數(shù)的一對數(shù),互補,意思是它們加起來為100,剛好溢出向第三位進位。
那么如果是一個字節(jié),那么它們相加為256,如果二個字節(jié)相加為65536
然后我們簡單用一字節(jié)來討論,9用二進制來表示為0000  1001,把它各位取反則為1111 0110,這樣加起來就是各位都是1,還得加上1才能向上進位,然后一字節(jié)的八位都是0,所以各位取反后還得加1后才是負數(shù)的反碼。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表