繁体   English   中英

当通过移位计算零时,零的按位“非”等于零

Bitwise “not” of zero equal to zero when the zero is calculated by shifts

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

size = 64时,为什么size在1(含)和64(含~((~0ULL) >> size << size)之间的~((~0ULL) >> size << size)取值为0?

2 个回复

移位大于或等于该值大小的值是未定义的行为。

这可能是保持移位操作足够快并且仅映射基础硬件操作的标准。

由于某些原因(例如在x86汇编语言中),我尚不完全清楚,移位的方式与寄存器的大小成模。 我不是硬件工程师,但可能是最有效的方法。

另一个不幸的限制是,在相反方向上移位负计数与在正计数中移位并不相同,而只是UB。 有时这需要在计算中添加额外的条件。

因为您在做什么是未定义的行为。 不要将64位整数移位64位。

编辑添加: 当左侧操作数为负值时,为什么左移操作会调用未定义行为?

1 当nextInt等于零时,如何终止程序?

我用回文数填充Arraylist&lt;Integer&gt; 。 然后,我通过其get()方法从列表中检索用户指定的元素,并打印该数字。 我正在尝试使用while循环来允许用户选择多个元素,直到他输入“ 0”为止,但是该程序在第一次选择后退出。 我该如何重复? ...

5 当COUNT值等于零时,SQL失败/不生成

我正在尝试为人们查看可用和已取消的班级生成一个列表,但我的SQL只能以某种方式只打印已预订的班级,而班级的人则永远不会显示它。 我怀疑是因为HAVING导致仅生成保留类。 我的桌子: 班级 CID,ClassLevel,StartDate,StartTime,持续时间,D ...

6 当余额等于零时,如何退出while循环,因此全额支付?

我必须写一些代码来搜索信用卡的最低月付款。 我正在使用二分搜索来找到这个最低月付款。 但是,我对如何退出while循环感到困惑,因为它似乎创建了一个无限循环,并且永远不会访问我所拥有的break语句,这意味着,balance永远不会等于零。 如何退出while循环? 我意识到设置平衡 ...

7 当约束等于零时,无法将其最小化

我有两个数组,一个数组有金额,另一个数组有风险。 我想从根本上将金额的总和最小化,同时将风险的总和保持不变。 为此,我想将“数量”和“风险”乘以一系列权重(需要解决)。 我得到的结果是: 在Excel(Simplex LP)上使用求解器时,我得到了可行的结果:使用猜测权重: ...

10 当计数等于零时如何不返回任何内容?

我希望函数 countChar 仅在计数大于零时返回一个值,否则我希望它不返回任何内容。 我知道该方法不能返回 null,因为 null 不能是 Int。 有没有另一种方法可以有效地返回“空”值? 错误:不兼容的类型:无法转换为 int return null; ^ 我希望它绝对不返回任何东 ...

2019-09-18 22:48:24 3 125   java
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM