在十六进制系统中使用n位数可以表示多少个值?

时间:2015-01-27 20:25:20

标签: binary hex

我有n = 7。在十六进制系统中使用7位数可以表示多少个不同的值? 我这样接近它:

我将7的每个位设置为等于1。因此,我得到的最高数字是111 1111 = 16^0 + 16^1 + 16^2 + 16^3 + 16^4 + 16^5 + 16^6,等于17895697。我也认为零是答案的一部分,所以我的范围是0 to 17895697因此,我得到17895698不同的值。但是,我知道在二进制文件中你会2^7 = 128。它也适用于十六进制吗?如果我这样做,我会得到16^7 = 268435456,这与我之前的相同。

我的答案是否正确?如果没有,有人可以解释一下这个问题的正确方法吗?

4 个答案:

答案 0 :(得分:2)

通用公式是数字*基数^位置

的总和

考虑十进制数字。您可以用3位十进制数代表的最大数字是多少?最大可能的数字是9.因此最大数字是: 9 * 10 ^ 2 + 9 * 10 ^ 1 + 9 * 10 ^ 0 = 9 * 100 + 9 * 10 + 9 * 1 = 999 下一个最大的数字是1 * 10 ^ 3 = 1000

另一种计算十进制三位数最大值的方法是获得4位数的最小数字并减去1。 4位数的最小十进制数是1000或 1 * 10 ^ 3 + 0 * 10 ^ 2 + 0 * 10 ^ 1 + 0 * 10 ^ 0 = 1000 现在减去1 1000 - 1 = 999

十六进制数的可能数字是0..F(值0..15) 对于7位数,这些位置的范围从6到0。

因此,最大可能的数字是: 15 * 16 ^ 6 + 15 * 16 ^ 5 .... 15 * 16 ^ 0

或者以十六进制表示的最小数字是8位数是#10000000 1 * 16 ^ 7 + 0 * 16 ^ 6 ... + 0 * 16 ^ 0 = 1 * 16 ^ 7 所以十六进制中有7位数的最大可能数字是 1 * 16 ^ 7 -1

答案 1 :(得分:1)

您可能会想到更简单的解释,但这并不意味着它不起作用。

一个十六进制数字可以表示16个值中的一个(0x0到0xF,或者如果您愿意,则为0到15),因此16 ^ 7 = 268,435,456,如果您使用所有位,则可以实现多少个不同的值。

0000 0000 0000 0000 0000 0000 00001111 1111 1111 1111 1111 1111 1111

答案 2 :(得分:0)

16 ^ 7是正确的答案。为什么?因为你添加的每个角色都有以前可能性的16倍。因此,对于7个字符,它是16 ^ 7。

答案 3 :(得分:0)

考虑二进制 - 2 ^ 1,得到0和1,2可能的值。 2 ^ 2,你得到0到3(00,01,10,11),4个可能的值。

使用十六进制,它是16 ^ 7个可能的值,即268,435,456个可能的值。