我将教一小群人关于计算中的编号系统,并想知道十进制系统中每个数字有多少位,例如:
Eug*_*eck 100
您正在寻找的是 10 的基于 2 的对数,这是一个大约 3.32192809489 的无理数....
十进制数字不能使用整数位这一事实是为什么许多在十进制系统中易于表达的分数(例如 1/5 或 0.2)是不可能的(不难:真的)的根本原因不可能)用二进制表示。这在评估浮点运算中的舍入误差时很重要。
gro*_*taj 21
换句话说,在这些系统中,单个数字包含多少信息。
对于基数 2、基数 4、基数 8、基数 16 和其他 2 N 个基数,答案是显而易见的,因为在基数 2 N 中,每个数字都可以精确地表示为 N 个数字。
给定 2 N如何得到N?好吧,您使用基于 2 的对数,它是幂的倒数。
不是 K 的幂的数字的基于 K 的对数不是基数。特别是:
这个数字可能看起来很混乱,但它实际上有一些用途。例如,它是单个十进制数字的熵。
但是,对于您的情况,我认为此值没有任何用处。@Christian 的回答很好地解释了原因。
小智 8
我很抱歉地说这个问题被误导了。你不会以那种方式使用位。位是一个二进制数字。您可以将十进制数 10 转换为二进制 1010 (8+2),因此您需要 4 位来表示十进制值 10。
你陷入了一个陷阱,以二进制(2)、八进制(8)和十六进制(16)为例,因为这些都是 2 的幂,因此你可以从位的角度来考虑它们,而 10 不是 2 的幂,所以它不能像那样很好地工作。
归档时间: |
|
查看次数: |
22430 次 |
最近记录: |