基数 2(二进制)的简写

问题描述 投票:0回答:5

我在做 TryHackMe 时遇到了这个问题。我通过查看 TryHackMe 论坛的一些帮助得到了这个答案,但我找不到解释为什么 16 是基数 2 的简写? 有人可以向我解释一下为什么在这种情况下 16 是正确答案,而不是 8 进制? 感谢您的帮助

binary hex octal
5个回答
3
投票

十六进制广泛用作二进制的简写。因为它是以 16 为基数,16 是 2 的幂,所以从二进制到十六进制的转换是干净的。 4 位二进制数中的所有可能值都可以用 1 位十六进制数使用其所有可能值来表示。 4 位二进制数可以表示值 0-15(十进制),1 位十六进制数可以表示值 0-15(十进制)。

要从二进制转换为十六进制,可以使用相同的过程,但相乘和相加的数字需要是十六进制数字。例如,10010b = 124 + 023 + 022 + 121 + 020 = 110 + 08 + 04 + 12 + 01 = 0x12。 请注意,每个数字均为十六进制,第一项 110,十进制为 116。

在实践中,我认为大多数人都会从二进制转换为十进制,然后从十进制转换为十六进制。比如:10010b 有一个 16 加一个 2,即 18。这大于 16,小于 32,所以第二个位置有一个 1,即 16,剩下 2,所以 0x12 就是答案。

来源:- https://practicalee.com/binary/

我有同样的问题,这就是我发现的!希望有帮助。


1
投票

我在这件事上走错了路。

因此,二进制数可以表示为 110011,例如(基数为 2)。事实上,你不会使用它。人们使用八进制或十六进制。 所以问题就变成了:哪一种是最常见的,你会如何命名它?


0
投票

他们表达问题的方式使得任何编号系统都可能是可能的答案。

基数 16 会更好,因为您可以使用单个十六进制数字表示 4 个二进制数字,而一个八进制数字可以表示 3 个二进制数字。

因此您可以使用更少的十六进制数字来表示大量值。


0
投票

让我们通过一个例子来看看它是如何工作的,

考虑十进制值 777。

如果将其转换为二进制,则为 1100001001。

想象一下您需要将此二进制消息传递给您的一位朋友。但不幸的是,您发送的平台不允许一次发送超过 3 个字符。您也不能按原样发送原始数据。

在这种情况下,1100001001的十六进制表示将是309。因此它允许我们以简写形式发送二进制数据[这里309是1100001001的简写]。

所以基数 16 是基数 2 的简写。


-2
投票

二进制以 2 为基数,仅使用 0 和 1 我们还使用十六进制,即以 16 为基数,但这实际上只是用作二进制的简写,正如您将看到的。

© www.soinside.com 2019 - 2024. All rights reserved.