計算機基礎知識之二進位制加法

2021-10-02 18:14:19 字數 1216 閱讀 2484

計算機中所有的運算底層都是01二進位制表示的,在計算機運算過程中如何表示基本的加減乘除運算呢?

首先需要注意的一點就是,計算機在運算過程中沒有減法,只有加法,那麼如何表示1-1呢?

計算機如何表示1和-1呢?

在二進位制中首位表示正負,首位為0表示這個數是正數,首位為1表示這個數字負數,其他數字表示這個數的絕對值,1-1 = 1+(-1)

運算十進位制

二進位制1

0000 0001

-11000 0001+0

1000 0010

我們可以看到1+(-1)通過二進位制計算後結果轉換為十進位制的數為:-2

這樣的結果明顯是不對的,基於以上的問題,人們發明了反碼:

如果是正數,反碼和原碼一樣;如果是負數,符號位不變其餘的各位取反,0變為1,1變為0.運算

十進位制二進位制反碼1

0000 0001

0000 0001

-11000 0001

1111 1110+0

1000 0010

1111 1111

這樣得到的結果就是1111 1111 因為這個結果是反碼,在取反就可以了,得到的結果1000 0000 這個二進位制數字轉換過來就是-0,但是現實中不會存在+0和-0的,這就用到了補碼;

補碼:如果是正數,補碼和原碼一樣,如果是負數,則在反碼上加1(相當於將原碼數值位取反然後在最低位加1)運算

十進位制二進位制

反碼補碼

10000 0001

0000 0001

0000 0001

-11000 0001

1111 1110

1111 1111+0

1000 0010

1111 1111

0000 0000

這樣就得到我們需要的正確的結果了。

1+(-2) = -1

運算十進位制

二進位制反碼補碼1

0000 0001

0000 0001

0000 0001

-21000 0010

1111 1101

1111 1110+-1

1000 0001

1111 1110

1111 1111

計算結果是1111 1111 它的補碼就是:1000 0001也就是十進位制的-1

aaa

計算機基礎之二進位制數

二進位制數可以分為有符號數和無符號數,有符號數,又可以分為原碼 反碼 補碼。正數的原碼 反碼和補碼都一樣 負數的原碼,最高位是1,反碼是除了最高位,其餘的與原碼取反,補碼是反碼加1。如 4 的原碼為 0000 0100 反碼為 0000 0100 補碼為 0000 0100 4 的原碼為 1000 ...

計算機二進位制計算過程

原文 原碼,補碼和反碼 wqbin cnblogs.com 1.原碼,反碼,補碼的基礎概念和計算方法.1 00000001 原 00000001 反 1 10000001 原 11111110 反 補碼補碼的表示方法是 1 00000001 原 00000001 反 00000001 補 1 100...

計算機 十進位制 二進位制 關係

一 人類用十進位制 0 1 2 3 4 5 6 7 8 9 二 計算機用二進位制 0 1 三 人類使用十進位制,計算機使用2進製,因此計算機在執行人類發出的任務時,會進行10進製和2進製之間的轉換。計算機先將10進製轉換為2進製,用2進製進行計算,再將所得的2進製計算結果轉換為10進製。四 十進位制...