Python:为什么右移>>向下舍入,应该在哪里使用?

标签 python operators

我从未使用过 >><<运算符,不是因为我从来不需要它们,而是因为我不知道我是否可以使用它们,或者我应该在哪里使用它们。

100 >> 3输出 12而不是 12.5 .为什么是这样。也许学习在哪里最好地使用右移会隐含地回答这个问题,但我很好奇。

最佳答案

右移不是除法

让我们看看是什么right-shift 实际上确实如此,而且会变得很清楚。

首先,回想一下,数字是以二进制数字的集合形式存储在内存中的。如果我们有 8 位内存,我们可以将 2 存储为 00000010,将 5 存储为 00000101

右移将这些数字向右移动。例如,将上述两位数右移一位将分别得到 0000000100000010

请注意,最低位(最右边)完全移出了末尾,对最终结果没有影响。

关于Python:为什么右移>>向下舍入,应该在哪里使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2314181/

相关文章:

python - 使用 Flask-classy 查看特定的上下文处理器

python - 创建包含每个独特团队获胜顺序计数器的列表

c - 使用 ((c1^c2) & ~32) 测试 c1 和 c2 在不同情况下是否是相同的字符

javascript - JS : What's the difference between =+ and +=

c++ - C++中运算符和函数的区别?

python - 可通过属性名称或索引选项访问的结构

jquery - 无法在 jquery 对象上抓取 href

python - 有没有办法在不进行硬编码的情况下编写相同的 try- except 多行代码? Python

logic - "!= true"和 "== false"之间的区别?

swift - Swift divide "/"运算符不工作还是我错过了什么?