我有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
,这与我之前的相同。
我的答案是否正确?如果没有,有人可以解释一下这个问题的正确方法吗?
答案 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 0000
至1111 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个可能的值。