c 將十進位制轉換為二進位制 小數 二進位制的轉換

2021-10-11 09:00:40 字數 1595 閱讀 8613

二進位制是在計算機中常用的一種進製數,其資料用0和1兩個數碼來表示資料。我們人類常用的是十進位制,那麼二進位制和十進位制之間是有乙個轉換方法的。

二進位制轉換十進位制

乙個二進位制數轉換為十進位制數,是比較簡單的,其方法就是用每乙個位置上的數字乘以該位置的權重,然後相加得到。舉個例子,二進位制的1010轉換為十進位制的話,從其最後面一位0開始,一直往前,其權重依次為2º、2¹、2²、2³,所以這個數轉換為十進位制就是0×2º+1×2¹+0×2²+1×2³=9.如果出現小數怎麼辦?方法一樣,小數部分的每一位也有其權重,小數點後第一位權重為2的負一次方,2的負二次方以此類推例如:二進位制的1.01轉換為十進位制就是1.25。

十進位制轉換為二進位制

十進位制轉換為二進位制是稍微有點複雜的過程,需要分為整數和小數兩部分。整數部分用「除以二取餘」的方法。具體說就是用短除法的形式讓十進位制的數除以二,將其每次的餘數依次寫下來,就是二進位制的數,如十進位制的26變為二進位制的話,如圖。

所以十進位制的26變為二進位制就是11010。對於小數部分,採用的是「乘以二取整」的方法。具體來說就是把小數部分拿出來,乘以2,得到的數把整數部分留下,小數部分繼續乘2,得到的數繼續進行這樣的運算,直到小數部分為0或者取到足夠的位數.然後將每次計算的整數部分依次寫下來就是二進位制下的該數字。計算如圖。

當然,也會出現迴圈的情況,比如十進位制下的0.2轉換二進位制時就會出現0011迴圈的情況,這個時候就是十進位制的0.2轉換為二進位制的話就是(0.001100110011......).

所以在十進位制下的26.625就是二進位制下的11010.101。

二進位制八進位制,十六進製制

其實除了二進位制,十進位制之外,我們還會見到八進位制,十六進製制,它們與二進位制的關係非常密切。我們能夠看到8是2的三次方,16是2的四次方,所以乙個八進位制為相當於3個二進位制位;乙個16進製制位相當於4個二進位制位。

舉個例子,當我們將八進位制下的26轉換為二進位制時,我們可以把2和6兩個數字拆開來看,6相當於二進位制的110, 2相當於二進位制下的010,所以八進位制下的26相當於二進位制下的010110,最高位0可以省去,就是10110.這樣我們就把八進位制的乙個數轉換為二進位制。

二進位制轉換為八進位制也簡單,就是三個二進位制位是乙個八進位制為。舉個例子,二進位制下的11001轉換時,可以這樣看011 001,這樣就可以分別計算011相當於0×2²+1×2¹+1×2º=3,001相當於1,。所以轉換為八進位制就是31。這裡需要注意的一點是計算加法時要做到滿8進1,因為八進位制下不可能出現比8大的數字。

十六進製制的轉換類似,不過是乙個十六進製制位相當於4個二進位制位。十六進製制中就有了abcdef表示10 11 12 13 14 15。

這就是關於二進位制的各種轉換問題,當然,這裡討論的都是正數,負數問題需要跟進一步討論。因為對於負數在二進位制裡有相應的表示方法,這裡就不過多贅述了。

將十進位制轉換為二進位制

問題 將任一十進位制整數轉換為二進位制形式。方法一分析 將十進位制轉換為二進位制的方法很多,本方法利用c語言能夠對位進行操作的特點。對於c語言來說,乙個整數在計算機內就是以二進位制形式儲存的,所以沒有必要再將乙個整數經過一系列運算轉換為二進位制形式,只要將整數在記憶體中的二進位制表示輸出即可。源程式...

十進位制小數如何轉換為二進位制小數

關於十進位制小數轉換為二進位制數,下面是我的詳細操作說明,僅供參考。首先,最高位是符號位,正數是0,負數是1 小數部分乘以2,然後取整數部分,剩餘小數部分繼續乘以2,取整數部分,直到小數部分為0。以 0.125為例 數,最高位為0 小數部分0.125x2 0.25,取0 再取小數部分0.25x2 0...

十進位制 轉換為 二進位制

聽說優酷前端面試有問進製數轉換的,甚至是負正整數轉換為二進位制,那就索性一次整個明白 正整數轉二進位制 負整數轉二進位制 小數轉二進位制 1 正整數轉成二進位制。口訣 除二取餘,倒序排列,高位補零。42 除以2得到的餘數 右邊 為010101,然後倒著排一下就是取到的二進位制了 如下圖 計算機內部表...