因此,在二进制文件中找到给定N位数的最大数字,您可以使用:
2 ^ N - 1
但为什么-1。为了尝试理解它我创建了一个3位系统并尝试了一些例子:
2 ^ 1 =(2) - 1
2 ^ 2 =(4) - 1
2 ^ 3 =(8) - 1
所有这一切都按计划进行,但为什么-1。这听起来像是一个愚蠢的问题,但正如你在上面所看到的那样,我做了大量的研究。
答案 0 :(得分:1)
因为你可以代表0,它总是在所有排列中占据一个位置。
答案 1 :(得分:1)
所展示的研究应该已经揭示了答案,但你已经忘记了零。
三位能够表示2^3
个不同的值。 最小值为零,因此最大必须为2^3-1
。
请注意,如果您使用其他系统(例如已签名的二进制文件),最小和最大值可能会更改,但计数价值观没有。