二進位制 是一種怎樣的計數系統,在運算上有何特點?

時間 2021-05-05 21:17:05

1樓:Valkla

這個問題挺有意思的 @知識庫 。為啥計算機要採用二進位制我們需要從計算機的歷史開始講起。上學的時候計算機的歷史大家都知道,第一台通用電子計算機是美國賓夕法尼亞大學的ENIAC。

這是一台電子管計算機,但是很多人不知道的是最一開始,這台機器是10進製的。包括再之前的一些特殊用途的計算機,比如戰艦上的Mk37型火控系統,以及一些機械式模擬計算機都是10進製的。

為什麼是10進製呢?因為我們作為人是習慣使用十進位制的。為什麼們習慣使用十進位制呢?

因為我們有10根手指頭,10進製是自然而然的事情。如果我們有8根,那自然就是8進製了。我們覺得2進製奇怪只是我們不習慣而已。

回到計算機的問題上來,10進製很快就有個問題,為了表達10進製,計算機的電子器件需要發出10種電位訊號。自然而然的,訊號等級越多,留有的餘地就越小,比如在-5V 到 +5V的電位中,如果顯示10進製,那麼每個電位之間只有1V的間隔,一旦出現點問題,就會干擾,比如輸出+2V 結果電路中出現了干擾變成+3V 那麼整段資料就不對了。這個問題即使在今天仍然存在,即位元翻轉,多出現在惡劣工況的環境下,比如外太空。

10進製還有其他各種各樣的問題,所以人們最終採用最簡單的方式來表示——即2進製,只有高電平,低電平兩種。在這種情況下同是-5V到+5V的電位中,-5 表示0,+5表示1。簡單明瞭。

現代計算機採用的超大規模積體電路中,4個NAND門即可表示整個真值表,如圖:

NAND 門在電路印刷中非常容易製造,計算機的各種邏輯電路都是基於這個基礎元件來進行的。如果是10進製,那麼會複雜的多。多個NAND門串並聯之後,組成了加法器:

再通過不同的組合,可以組成暫存器,記憶體等。可以說,現代計算機的一切基礎都是基於二進位制的,它可以讓人們以最小的成本組成最簡單的原件,然後通過堆電晶體的辦法來形成強大的算力,這一切,需要的是最簡單的計數方式。

但是計算機本身,其實叫我來說,其實是基於16進製制的,畢竟2進製的資訊容量太小,一般來說還是需要合併起來使用。至於為什麼是16進製制而不是10進製,是因為2的4次方是16而已,兩個位元組的容量。組合語言中有大量的暫存器,記憶體操作,很多時候位址的編碼會是15EFCAD 這樣的16進製制編碼,在硬體底層是由一組組2進製01組成,16進製制方便人們來進行操作。

所以也沒有什麼特別的,只是電子元器件的特性,使得2進製更為容易製造和使用罷了。至於計算以及2進製,8進製,16進製制,10進製的轉換,請參考其他答案。

以上。電晶體堆積的終極體現:

2樓:magic2728

@知識庫

n進製計數系統中的一種,n為大於等於2的整數,n=1顯然沒法計數,逢1就進製還不得進製到無窮去。

換句話說,二進位制是所有進製數表達自然數裡,進製位最小的乙個,也是我們常說的最簡單。簡單在於,需要的編碼符號少,只有0和1兩個,就單個位而言,0是沒有,而1可以直接泛化成有的意思,或者組合在一起是超越有無的其他二分類變數,比如紅黑,上下,開關等等。

這個和二分類變數對應的二進位制表示,下可以和邏輯電路的高低電頻對應,以至於用電路的物理實體實現邏輯運算;上可以變成多分類變數,用邏輯運算模擬數值運算,二分類擴充套件成多分類,由此在數量意義上完成對世界的建模。

豈不妙哉?

3樓:電卓院亜紀良

謝 @知識庫 邀。

二進位制是數的進製中的一種。

進製是人們為了計數和運算方便而約定的記數系統,約定滿多少進一,就是多少進製,這個進製的基數就是幾。我們日常生活中最熟悉的是十進位制,這或許與人用手指計數是有關的。

一般地,如果 是大於 的整數,則以 為基數的 進製數可以表示成一連串數字寫在一起的形式 (其中 , , ),表示不同位上的數字與基數的冪的乘積之和的形式。

例如十進位制數 ;

八進位制數 。

所以,二進位制數就是「滿二進一」的進製,只用0和1兩個數字來表示,這也正是二進位制的特點。例如

那麼為什麼計算機採用二進位制呢?

從上面二進位制的特點與例項可以看到,二進位制只用到0和1這兩個數字,正好和電路的「通」、「斷」兩種狀態相對應。電子計算機中需要對資料進行大量的數值運算,所有運算都是靠各種電子開關元件的兩種狀態來表示不同的資料與運算指令,因此在計算機的內部都是採用二進位制。

根據二進位制的特點「滿二進一」,我們也能夠把二進位制和我們日常使用的十進位制進行相互轉化。二進位制數轉化為十進位制數按照各冪次之和計算即可,例如上面的

;十進位制轉化為二進位制,採用「除2取餘法」,將每一步的餘數按從右往左排列。如果把二進位制推廣到小數,則整數部分仍然用「除2取餘法」,將每一步的餘數在小數點前按從左往右排列;小數部分採用「乘2取整法」,將每一步取整得到的數在小數點後從左往右依次排列。

在運算上,與十進位制的運算相比,二進位制顯然要簡單得多,這也極大地方便了計算機的處理:

二進位制的加法:0+0=0;0+1=1;1+0=1;1+1=10

二進位制的減法:0-0=0;1-0=1;1-1=0;10-1=1

二進位制的乘法:0×0=0;0×1=0;1×0=0;1×1=1

二進位制的除法:0÷1=0;1÷1=1

4樓:龔漫奇

二進位制和十進位制是完全一樣的理論,只不過把十改為二就是了。

例如乙個有n個數字的十進位制數

a(n)a(n-1)………a(3)a(2)a(1)的定義是:a(i)的取值範圍是1,2,3,4,5,6,7,8,9,0,且a(n)≠0且這個十進位制數的值=

=a(n)10^(n-1)+a(n-1)10^(n-2)+a(n-2)10^(n-3)+………+a(1)10^0。

二進位制數的定義是完全一樣的,只不過把10改為2(a(i)的取值範圍是1,0)。

如果人類當初選擇發明的計數法是二進位制而不是十進位制,那麼人腦對計算的響應程度會不會提高或者進化?

ralxxxx 十進位制和二進位制沒有本質區別,計算機用二進位制是電路決定的。進製的不同更多體現在符號表達上,不改變量字本身的意義和性質,人類早期也不只十進位制一種計數方法 黑天 人類之所以用十進位制,是因為我們有十根手指頭。所以慢慢的世界上各種文明才有了各自的零到玖數字,因為阿拉伯數字0 9最為簡...

我們的世界可能是二進位制的嗎?

Jony 世界的本源是什麼?畢達哥拉斯認為,數是世界的本源,數先於一切事物而存在,他把宇宙的性質都歸結於數的規律,數是永恆的。他說數的原則就是一切事物的原則,整個天體體現著一種數的和諧。具體的理論還是很有道理的,這樣的唯心主義哲學觀必然孕育於當時的時代背景下。然而現在是21世紀,我們必須堅持科學的馬...

程序被作業系統載入之後,磁碟上的二進位制檔案可以刪掉嗎?如果刪掉對正在執行的程序有什麼影響嗎?

郭煒 記憶體夠,不出現頁錯誤的情況下隨便刪 直接插拔硬碟都行,排除了OS保護機制的干擾 二進位制檔案已經裝載在記憶體,程式依然會正常的執行。不信你試試, 北極 如果有能力控制核心裡的那個鎖,刪掉乙個開啟的可執行檔案完全沒問題,很多任務具 比如360 都能刪。注 Linux也有類似機制,但Linux檔...