計算機中數值的表示 為什麼使用補碼來表示

2021-09-29 17:28:06 字數 538 閱讀 9132

內容可能少,貴在日精進

背景(基本概念)

遇到的問題

解決方法

內在原理

一、背景

1.0 思路

1 為什麼會有這個問題,

2 機器數,真值,原碼,反碼和補碼

1.1 知道補碼的概念,但是這些概念是割裂的,不清楚為什麼會有這些定義;

二、遇到的問題

2.1 問題描述

1 計算機中的加減乘除是最基本的運算,需要足夠簡單;

2 使用原碼進行運算,考慮符號位,需要多計算一步;

2.2 使用補碼計算的好處

1 相對於十進位制等,二進位制可以直接通過與非門進行運算

2 相對於原碼,結合數位電路的知識可知,補碼可以直接讓符號位參與計算,提高效率(取反,加一,與)

3 相對反碼,表示的範圍更廣,主要在-0和+0上,付出的代價是-128沒有原碼和反碼表示;

三、解決方法

3.1 使用補碼進行運算

四、內在數學原理

4.1 同餘運算

參考文獻

[1]

計算機中為什麼表示數值用補碼, 而不是原碼, 反碼

1.原碼表示方法簡單易懂,雖然與帶符號數本身轉換方便,只要符號還原即可.但當兩個正數相減,或不同符號相加時,必須比較那兩個數的絕對值較大,才能決定誰減誰,確定結果是正數還是負數,所以原碼不便於加減運算.2.對於負數,符號為不變,其他部分取反 1變0,0變1 所以反碼運算也不方便,通常把反碼作為求補碼...

為什麼計算機中使用補碼?

週六加班的時候,乙個同事看到我在筆畫二進位制,就問我,這是啥,我跟他bb一大堆,然後他問我一句 為什麼計算機使用補碼,而不使用普通的 原碼 呢?這的確是乙個好問題。討論上述的內容之前,先預設大家都知道如下兩個知識 那麼在補碼沒有出現之前,我們怎麼使用原碼去快速的加減數?我們知道,如果乙個數a要減去乙...

計算機中數的表示

異或 xor,exclusive or 運算的真值表如下 ab a xor b00 0011 1011 10用一句話概括就是 兩個運算元相同則結果為0,兩個運算元不同則結果為1。與非 nand 和或非 nor 運算就是在與 或運算的基礎上取反 ab a nand b00 1011 1011 10 a...