2010-12-16 57 views
1

這個問題可能不是典型的stackoverflow,但不知道在哪裏問這個我的小問題。爲什麼十進制數16 == 5的二進制表示中的位數?

問題:

查找十進制數16的二進制表示的比特的數量?

現在我試圖解決這一使用公式$ 2^N = 16 \ RIGHTARROW N = $,但正確的答案由我的模塊建議爲5。可能有人解釋如何?


讀了一些答案,(也是我有10多個薄荷糖之前,我可以接受的正確答案)我覺得這可能是一個解釋,那將是數學公式一致,

對於後代表16我們需要表示17碼元(0,16),因此2 $^N = 17 \ RIGHTARROW N = 4.08746 $但如正需要是一個整數然後$ N = 5 $

+0

」答案似乎是5「?這是什麼意思?有人可以解釋嗎? – 2010-12-16 11:29:52

+0

我想你只需要明白Ceil(log2(num))給你表示「num」數字所需的位數。不是數字「num」。差異是1:P – 2010-12-16 12:06:14

+0

您需要多少位數來表示100的十進制表示? – 2012-04-30 22:00:37

回答

3

如何二進制思考作品:

Bit 1: Add 1 
Bit 2: Add 2 
Bit 3: Add 4 
Bit 4: Add 8 
Bit 5: Add 16 

因此16將是:10000

+0

非常感謝。 – Quixotic 2010-12-16 11:32:55

2

以4比特,則可以從0表示數字至15

所以,是的,你需要5位表示16

1
Decimal - 16 8 4 2 1 
Binary - 1 0 0 0 0 

因此,對於任何東西爲十進制31你只需要5位。

0

這是一個經典的fencepost錯誤。

大家知道,計算機要開始從0

計數所以以表示16時,需要比特0,1,2,3和4(=地板(LOG2(16)))。

但實際上包含位0到4,您需要5位。 「

相關問題