gpt4 book ai didi

java - 丢失的比特去哪儿了?

转载 作者:行者123 更新时间:2023-11-30 02:33:43 26 4
gpt4 key购买 nike

我在研究java中的移位运算符,书上说'value << num',如果值是 int 那么在左移操作之后,一旦极限超过我能理解的 int 的极限(int 值的第 31 个位置),左边的位就会丢失,

我的问题很简单,丢失的比特去了哪里?

最佳答案

丢失的位不再存在。丢失的位不再在寄存器中,因为它们已被新位替换。新位是移位操作的结果。寄存器只能保存这么多位,所以当发生移位时,新的位被放入寄存器,丢失的位不再存在。丢失的位无处可去。将丢失的位想象成从悬崖上掉下来。

有一个溢出标志,这是一个用于指示发生溢出的寄存器,但根据维基百科,按位和移位操作可以使标志未定义或清除。以下是关于溢出标志的信息:https://en.wikipedia.org/wiki/Overflow_flag

单击此处了解有关算术溢出的信息 Arithmetic overflow !
单击此处了解有关 java 位运算符和位移位运算符的信息 Java Bit Operations !

关于java - 丢失的比特去哪儿了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35122702/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com