首页
/
每日頭條
/
圖文
/
編程為什麼要用二進制
編程為什麼要用二進制
更新时间:2025-06-30 00:35:20

編程為什麼要用二進制?計算機憑啥用二進制不管是不是程序員,大家可能都知道二進制是個什麼東西,下面我們就來聊聊關于編程為什麼要用二進制?接下來我們就一起去了解一下吧!

編程為什麼要用二進制(計算機憑啥用二進制)1

編程為什麼要用二進制

計算機憑啥用二進制

不管是不是程序員,大家可能都知道二進制是個什麼東西。

包括計算機在内,幾乎所有電子設備都采用的二進制。

可是,為什麼會這樣呢?

在說這個問題之前,先解決另一個問題——為什麼大多數國家的人類都采用十進制?

因為,人類有十根手指。

然後,沒了。


當然,在人類文明發展的長河中,也誕生過一些其他的進制。

比如蘇美爾人使用十二進制,據說是通過大拇指點其他四根手指的指節得出的。

還有瑪雅人的二十進制,大概率就是還算上了腳趾。

古巴比倫用六十進制,難道是五根手指搭配十二個指節?

根據人類選擇計數方法的進制,不難發現,人類總是根據身邊最直接的物品來确定進制。

如果人類隻有七根手指,那估計我們就該用七進制了。

對人類如此,對機器也是如此。

人類有手,機器有開關。

開關隻有“接通”和“斷開”兩種狀态,正好跟“1”“0”對應。

于是,機器用二進制便成了天經地義的事情。

僅僅是表示一個數據的話,二進制似乎隻要增加位數就能做到。

但要命的來了。數字不光有正數和0的存在,還有負數。

于是,人們就把最高位拿出來表示符号

正數用“0”,負數用“1”。

用這種方式表示的數字叫做機器數。也叫做原碼

比如

3原碼是0000 0011

-5原碼是1000 0101

8bit原碼數值範圍為[1111 1111,0111 1111]即[-127,127],共255個數字。

看起來似乎很方便,然而,當進行不同符号的加法或同符号減法運算的時候,麻煩來了。

原碼的運算不能直接判斷結果的正負,需要比較兩個數值的絕對值,由絕對值大的值來決定符号。

比如

“ 3” “-5”

1000 0101絕對值0000 0101

0000 0011絕對值0000 0011

符号相反的加法即是絕對值的減法

所以結果的絕對值為0000 0010(2)

再看符号,1000 0101絕對值大于0000 0011

所以結果應該為1000 0010(-2)

所以“ 3” “-5”=“-2”

很複雜對不對?

不光人覺得麻煩,機器也覺得麻煩。

于是,便有了反碼。

那麼,反碼是什麼呢?

正數的反碼跟原碼一緻

負數的反碼是将原碼除符号位以外所有位取反

比如

3反碼是0000 0011

-5反碼是1111 1010

8bit反碼數值範圍為[1000 0000,0111 1111]即[-127,127] ,共255個數字。

那,反碼有什麼好處呢?

同樣,“ 3” “-5”

0000 0011 1111 1010 = 1111 1101(-2反碼)

是不是簡單多了?

但,還是有一個問題。這個問題是從原碼遺留下來的。

無論原碼還是反碼,0有正負兩種0

0000 0000(原碼 0)

1000 0000(原碼 -0)

0000 0000(反碼 0)

1111 1111(反碼 -0)

這個問題又該怎麼解決呢?

于是,便終于有了補碼。

補碼是這麼表示的:

正數的補碼依然是原碼

負數的補碼是将原碼除符号位外各位取反,之後 1

也就是将反碼 1

比如

3補碼是0000 0011

-5補碼是1111 1011

雖然有點難理解,但是采用補碼之後,不光解決了計算問題,還把正負零的問題規避了。

除了這兩點,補碼還能比原碼和反碼多表示一個數字。

8bit補碼數值範圍為[1000 0000,0111 1111]即[-128,127] ,共256個數字。

當“ 3” “-5”時

0000 0011 1111 1011 = 1111 1110(-2補碼)

0隻剩下了0000 0000這一種表示方法。

反碼的1111 1111現在是補碼中-1。

反碼的1000 0000(-127)也就成了補碼可以多表示的-128

因此,在計算機系統中,數值一律用補碼來表示和存儲。

如今,計算機固然已經十分強大,但别忘記,是人類的智慧賦予的這一切。

Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
如何炖出好喝又鮮的雞湯
如何炖出好喝又鮮的雞湯
如何炖出好喝又鮮的雞湯?By菜.媛雞一隻,下面我們就來說一說關于如何炖出好喝又鮮的雞湯?我們一起去了解并探讨一下這個問題吧!如何炖出好喝又鮮的雞湯By菜.媛用料雞一隻蔥3段姜4片鹽适量紅棗,無花果各5顆做法步驟1、準備雞一個2、剁大塊3、冷...
2025-06-30
lol所有天賦詳情
lol所有天賦詳情
lol所有天賦詳情?在英雄聯盟裡面,已經迎來了S12賽季,如今喜歡打排位希望上分的小夥伴,可以從現在開始打了,但是這個新賽季有很多東西還是和之間不一樣的,其中最明顯的就是天賦系統了,下面我們就來聊聊關于lol所有天賦詳情?接下來我們就一起去...
2025-06-30
早晨好圖片早安語錄
早晨好圖片早安語錄
早晨好圖片早安語錄?1、晨起的彩蝶翩翩,送上我對你的想念;晨起的麻雀纏綿,送去我對你的愛戀;晨起的陽光暖暖,送去我對你的歡顔,晨起的雨露甜甜,送去我對你的感言早安,今天小編就來聊一聊關于早晨好圖片早安語錄?接下來我們就一起去研究一下吧!早晨...
2025-06-30
一加智能電視什麼時候發布
一加智能電視什麼時候發布
現在的一加電視看似劉作虎曝光了很多細節甚至是配置,實質上一加的電視反而顯得越來越神秘了。因為劉作虎曝光的配置和細節都是第一次出現在電視這個行業之上,比如:8支杜比揚聲器,專用的圖形處理器、可旋轉的支架等等。大家好奇的是一加電視無論從參數還是...
2025-06-30
皮膚屏障嚴重受損怎麼修複
皮膚屏障嚴重受損怎麼修複
随着環境污染、精神壓力、化妝品濫用等因素的增加,皮膚狀态變得越來越差,皮膚屏障對我們的健康很重要,但是其也會受損,我們的皮膚沒有我們想象的那麼堅固,皮膚屏障容易受損,這時候我們需要對皮膚及時進行修護哦。一、什麼是皮膚屏障?皮膚屏障是指皮膚的...
2025-06-30
Copyright 2023-2025 - www.tftnews.com All Rights Reserved