回覆列表
-
1 # 使用者5443769950533
-
2 # 弌94922977
咱們就拿"Hello world"的首字母"H"舉例吧,首先找到ASCII字元"H"的二進位制 01001000,下面咱們把這個8bit的二進位制數每3bit分為一個部分不夠3個的在前面補0,像這樣:
001 001 000OK,現在8進位制數出來了,沒錯就是110。 因為8=2^3,八進位制的一位相當於二進位制三位的資料量。這樣一分,然後把每個三位的二進位制數用“8421法”換算成10進位制就行了,因為二進位制的3位能表示的數最大也就是7了。 咱們再試試"e":01100101: 001 100 101 -> 145看吧,屢試不爽(`Δ′)!
10111101110(二進位制) = 2756(八進位制)。
具體給出演算法:
如果二進位制想要變為8進位制,首先從右向左,每三位用逗號隔開不足三維用0補足,010,111,101,110。
分別計算010,111,101,110。
010=0x2^2+1x2^1+0x2^0=2,
111=1x2^2+1x2^1+1x2^0=7,
101=1x2^2+0x2^1+1x2^0=5,
110=1x2^2+1x2^1+0x2^0=6。
然後把數連起來就是2756(八進位制)。
擴充套件資料:
二進位制數的四則運算
二進位制數與十進位制數一樣,同樣可以進行加、減、乘、除四則運算。其演算法規則如下:
加運算:0+0=0,0+1=1,1+0=1,1+1=10,(逢2進1)。
減運算:1-1=0,1-0=1,0-0=0,0-1=1,(向高位借1當2)。
乘運算:0×0=0,0×1=0,1×0=0,1×1=1,(只有同時為“1”時結果才為“1”)。
除運算:二進位制數只有兩個數(0,1),因此它的商是1或0。
加法0+0=0,0+1=1+0=1,1+1=10。
減法0-0=0,1-0=1,1-1=0,0-1=-1,10100-1010=1010。
乘法0×0=0,0×1=1×0=0,1×1=1。
除法0÷1=0,1÷1=1。
只有0和1兩個數碼,基數為二。