按位运算符的 2 次方取模?
- 2 的幂模如何仅适用于二进制数的低位 (
1011000111011010
)? - 这个数 mod 2 的 0 次方、2 的 4 次方是多少?
- 2 的幂与模运算符有什么关系?它是否拥有特殊属性?
- 有人能给我举个例子吗?
老师说“当你取某个东西的 2 次方时,你只需取它的低位”。我太害怕了,不敢问他的意思 =)
- How does mod of power of 2 work on only lower order bits of a binary number (
1011000111011010
)? - What is this number mod 2 to power 0, 2 to power 4?
- What does power of 2 have to do with the modulo operator? Does it hold a special property?
- Can someone give me an example?
The instructor says "When you take something mod to power of 2 you just take its lower order bits". I was too afraid to ask what he meant =)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
他的意思是,采用
number mod 2^n
相当于剥离n
最低阶(最右边)位之外的所有<代码>数字。例如,如果 n == 2,
那么换句话说,
number mod 4
与number & 相同。 00000011
(其中&
表示按位与)请注意,这在以 10 为基数的情况下完全相同:
number mod 10
给出最后一位数字以 10 为基数的数字,number mod 100
给出最后两位数字,等等。He meant that taking
number mod 2^n
is equivalent to stripping off all but then
lowest-order (right-most) bits ofnumber
.For example, if n == 2,
So in other words,
number mod 4
is the same asnumber & 00000011
(where&
means bitwise-and)Note that this works exactly the same in base-10:
number mod 10
gives you the last digit of the number in base-10,number mod 100
gives you the last two digits, etc.他的意思是:
当 y 是 2 的幂时。
示例:
现在使用您的示例:
What he means is that :
When y is a power of 2.
Example:
Using your example now :
考虑一下当您对一个数字取模 10 时。如果您这样做,您只会得到该数字的最后一位数字。
同样,如果你对一个数字取模 100,你只得到最后两位数字。
因此,您可以通过查看二进制的最后一位数字来获得 2 的幂的模数。这与执行按位与相同。
Consider when you take a number modulo 10. If you do that, you just get the last digit of the number.
Likewise if you take a number modulo 100, you just get the last two digits.
So you can get the modulo of a power of two by looking at its last digits in binary. That's the same as doing a bitwise and.
模通常返回除法后的值的余数。例如,
x mod 4
根据 x 返回 0、1、2 或 3。这些可能的值可以使用二进制中的两个位 (00, 01, 10, 11) 表示 - 另一种执行 x mod 4 的方法是简单地将 x 中除最后两位之外的所有位设置为零那些。例子:
Modulo in general returns the remainder of a value after division. So
x mod 4
, for example, returns 0, 1, 2 or 3 depending on x. These possible values can be represented using two bits in binary (00, 01, 10, 11) - another way to dox mod 4
is to simply set all the bits to zero in x except the last two ones.Example:
回答您的具体问题:
Answering your specific questions: