軟考學習-二進制轉化

對於一個菜鳥來說學會二進制轉化是很有必要的,至少在做題這方面是這樣

感覺大家都有自己的二進制轉化的方法,

我問過一部分人,他們的方式一般都是

用短除 " |___" 取餘的方式進行轉化

但是對於我這種懶漢的話,不想算除法所以我有自己的學習轉化方法,希望對大家能有幫助

一共是兩個辦法

第一個:一眼法!

是不是感覺名字就很厲害,沒錯這個方法也確實很厲害,什麼是一眼法呢?就是我一眼就知道答案

當然這隻針對一些特殊的數字,

比如說

十進制----二進制

1----1

2----10

3----11

4----100

。。。

32----100000

。。。

等等啊,這些數字都有一些和明顯的特徵,那就是都是等於2的指數冪和2的指數冪+-1 的數字,

一般用一眼法就能解決了,那麼一些比較難的數字呢,就要用到第二種方法了


第二種方法:拆分法

對於這種方法,有一個最基本的要求,就是對於2的指數冪有一個熟悉的瞭解

他們分別是:0 2 4 8 16 32 64 128 256 512 1024

一般到1024後邊的就用不到了也就是到2的十次冪

然後看是了重中之重的部分

隨便拿一個數字,比如說176

向下找到176最接近的2的指數冪:128

然後將176和128做差=48

然後向下找和48最接近的2的指數冪:32

然後將48和32做差=16

然後向下找和16最接近的2的指數冪:16

然後將16和16做差=0

這個時候就算完了~

在176中包含一個128一個32 一個16

既176=128+32+16

然後對於一個新手來說可以在紙上按倒序的順序把2的指數冪寫出(寫需要用到的最大的)

128   64 32 16 8 4 2 0

然後將176中包含的數字下方寫1,沒有的地方寫0

然後這個數字就出來了:10110000

對於一個老手來說,直接採用“一眼法”將結果寫出:10110000

這是正數的二進制轉化

對於負數就要有不同的方法了,採用“乘二進一法”

舉一個例子:以-0.625爲例

第一步將這個數乘以2

-0.625*2=-1.25

這是時候整數位爲1所以在轉化的時候,在小數點後第一位寫1

第二步將“取一”之後的數字既-0.25再乘以2=-0.5

這是時候整數位爲0所以在轉化的時候,在小數點後第二位寫0

第三部將-0.5再乘以2=-1

這個時候整數位爲1所以在轉化的時候,在小數點後第三位寫1

此時會發現,已經沒有小數位了,所以,這個數也就被轉化完了,輸出結果爲:-0.101

同理再舉一個例子,以0.4爲例

第一步  (0.4)乘以2 =0.8  小數點後第一位寫0

第二步 (0.8)乘以2=1.6   小數點後第二位寫1(取1的過程)

第三步  (0.6)乘以2=1.2 小數點後第三位寫1 (繼續執行取一)

第四步  (0.2)乘以2=0.4 小數點後第四位寫0 


此時發現,值又成爲了0.4 那麼後邊就是一個重複的“0110”,

所以我們輸出0.4轉化爲二進制數的結果爲:0.0110


關於二進制數的轉化,就是這些,如果有錯誤的地方。歡迎大家斧正

如果有不懂的地方,歡迎大家留言。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章