为什么十进制数的二进制表示的位数是16==5?

发布于 2024-10-08 02:26:22 字数 439 浏览 4 评论 0原文

这个问题可能不是典型的 stackoverflow,但我不知道在哪里问我的这个小问题。

问题:

求十进制数 16 的二进制表示形式的位数?

现在我尝试使用公式 $2^n = 16 \Rightarrow n = 4$ 来解决这个问题,但是我的模块建议的正确答案是 5。有人能解释一下吗?


读完一些答案后,(而且我还有 10 个薄荷糖才能接受正确的答案)我认为这可能是一个解释,这将与数学公式一致,

为了表示 16,我们需要表示 17 个符号(0, 16),因此 $2^n = 17 \Rightarrow n = 4.08746$ 但由于 n 需要是整数,因此 $n = 5$

This question not probably not typical stackoverflow but am not sure where to ask this small question of mine.

Problem:

Find the number of bits in the binary representation of decimal number 16?

Now I tried to solve this one using the formula $2^n = 16 \Rightarrow n = 4$ but the correct answer as suggested by my module is 5. Could anybody explain how ?


After reading some answer,(and also I have 10 more mints before I could accept the correct answer)I think this is probably an explanation,that will be consistent to the mathematical formula,

For representing 16 we need to represent 17 symbols (0,16), hence $2^n = 17 \Rightarrow n = 4.08746$ but as n need to be an integer then $n = 5$

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

没有你我更好 2024-10-15 02:26:22

想想二进制是如何工作的:

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

因此 16 就是:10000

Think of how binary works:

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

Thus 16 would be: 10000

仙气飘飘 2024-10-15 02:26:22

使用 4 位,您可以表示从 0 到 15 的数字。

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

With 4 bits, you can represent numbers from 0 to 15.

So yes, you need 5 bits to represent 16.

闻呓 2024-10-15 02:26:22
Decimal - 16 8 4 2 1
Binary -   1 0 0 0 0

因此,对于十进制 31 以内的任何数字,您只需要 5 位。

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

So for anything up to decimal 31 you only need 5 bits.

小女人ら 2024-10-15 02:26:22

这是一个典型的栅栏错误。

如您所知,计算机喜欢从 0 开始计数。

因此,要表示 16,您需要位 0、1、2、3 和 4(=floor(log2(16)))。

但要实际包含位 0 到 4,您需要 5 位。

This is a classic fencepost error.

As you know, computers like to start counting from 0.

So to represent 16, you need bits 0, 1, 2, 3 and 4 (= floor(log2(16))).

But to actually contain bits 0 to 4, you need 5 bits.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文