2011-11-13 454 views
2

確定的二進制等效值,所以我知道的104二進制等效值是1101000.十進制數104

10 = 1010

4 = 0100

所以,104 = 1101000(如何得到這個??如何把這些都混合在一起,得到這個二進制?)

而且從例如here ...

八位位組從「hellohello」是E8 32 9B FD 4 6 97 D9 EC 37

This bit is inserted to the left which yields 1 + 1101000 = 11101000 ("E8").

我還是明白這個部分,但如何11101000轉換爲E8?

我對所有這些問題的小白很抱歉,我學就在昨天,我用Google搜索和搜索了一整天,但還沒有真正理解這個概念...

謝謝。

+0

你需要google二進制或者base2。 104 = 64 + 32 + 8;這就是'01101000'的含義。 –

回答

5

好了,我知道的104二進制等效值是1101000.

10 = 1010
4 = 0100

不能破開的多個像104104changing bases。您需要查看整個號碼104。位開始的位置和它們的十進制等效的表:

1   1 
2   10 
4   100 
8   1000 
16  10000 
32  100000 
64  1000000 
128 10000000 

查找最大的十進制數,還是比你input一些較小:104 - 這是64。把它寫下來:

1000000 

減去64104104-64=40。重複(在這種情況下32)與40查表,並記下的第一個下面的相應的位模式 - 在右邊最遠對準最低位:

1000000 
100000 

重複與40-32=8

1000000 
100000 
    1000 

由於8之後沒有任何遺留物,所以您在此完成。總結那三個數字:

1101000 

這就是104的二進制表示。

1101000轉換爲十六進制的,我們可以用一個小技巧,非常相似,您嘗試使用104,打造從沒有太多的工作二進制版本的十六進制版本 - 看看四位組在同一時間。這招工作,因爲基地2表示完全的四位表示的鹼的選項16表示的範圍內:

Bin Dec Hex 
0000 0 0 
0001 1 1 
0010 2 2 
0011 3 3 
0100 4 4 
0101 5 5 
0110 6 6 
0111 7 7 
1000 8 8 
1001 9 9 
1010 10 A 
1011 11 B 
1100 12 C 
1101 13 D 
1110 14 E 
1111 15 F 

的四個比特的第一組中,(插入足夠導致0墊它四個 比特) 0110是十進制的6,十六進制的6;第二組四位10008十進制,8十六進制,所以0x68104的十六進制表示。

+0

+1漂亮的桌子! –

+0

感謝哥們:)一旦我明天得到一堆新的選票,預計+1。如果我似乎忘記了,請告訴我。 :) – sarnold

+0

什麼是一個整潔而清晰的桌子,我終於明白它是如何工作的。謝謝你這麼多sarnold,猜我會永遠保持這張桌子哈哈。 –

2

我想你正在一些混亂: 104十進制是1101000未由兩組分裂104成10和4 例外情況是可以由兩組4件二進制數中形成十六進制數形成(2^4 = 16)。

所以111010000 = E8轉換成1110 = E和8 = 10000 1110(二進制)。將14(十進制)和E(十六進制)的等價物。

  • 10(十進制)= A(十六進制)
  • 11(十進制)= B(十六進制)
  • ...
  • 15: 十六進制數從0到15(十進制),其中去(十進制)= F(十六進制)
+0

曾經有一個BCD(二進制編碼的十進制)編碼,它編碼每個單獨的十進制數字及其二進制等值。所以104將被編碼爲0001 0000 0100.我不認爲我在過去的30年左右看到了這種情況。 –

+0

BCD在計算器上仍然常用,因爲它很容易給出「十進制精確」的答案,而不會遭受[當用於每天消費者問題時浮點數共同的某些愚蠢行爲](http:// stackoverflow .COM /問題/ 752738 /爲什麼 - 是 - 在對結果的,這顯式鑄造-不同,來自該隱一/ 752755#752755)。 HP48,HP49,HP50,HP38等都在內部使用BCD。如果TI爲他們的模型做同樣的事情,我也不會感到驚訝。 – sarnold

+0

對,我記得學校使用它 - 使用7段顯示器(數字時鐘)顯示數字。 – misha

2

什麼你錯過這裏是數字編號通式。

104 = 1*10^2 + 0*10^1 + 4*10^0 

同樣,

0100b = 0*2^3 + 1*2^2 + 0*2^1 + 0*0^0 

而對於一個十六進制數,字母A-F代表數字10-15。所以,

E8 = 14*16^1 + 8*16^0 

當你從右到左,每個數字表示基地的下一個更高的權力(也稱爲基數)的係數。

在編程中,如果你有一個整數值(在計算機,可能是二進制文件的內部格式,但它是不相關的),你可以提取最右邊的數字與模運算。

x = 104 
x % 10 #yields 4, the "ones" place 

然後你就可以得到「所有,但」與整數除法最右邊的數字(整數除法將廢棄餘,我們不再需要的)。

x = x/10 #yields 10 
x % 10 #now yields 0, the "tens" place 
x = x/10 #yields 1 
x % 10 #now yields 1, the "hundreds" place 

因此,如果您在循環中執行模數和整數除法(當x == 0時停止),則可以在任何基數中輸出數字。

+0

非常感謝你的回答luser,我現在明白了。再次感謝 。 –

相關問題