gpt4 book ai didi

java - 我想将最后三位设置为零,但我不知道我的代码错在哪里?

转载 作者:行者123 更新时间:2023-11-29 08:36:17 27 4
gpt4 key购买 nike

这是我的代码,我需要将时间的最后三位设置为零。但我的代码不起作用。

Calendar calendar = Calendar.getInstance();
long time = calendar.getTimeInMillis();
time &= ~0x7;
LogUtil.i("test",String.format("%x %s",~0x7,time));

这是日志

fffffff8 1506830400944

应该是

fffffff8 1506830400000!

最佳答案

您的号码确实正在转换。最后 3 位数字实际上设置为 0。您看不到它们的原因是它们是在二进制级别转换的。

1506830400944 到二进制的转换是这样的:

10101111011010110000101110011110110110000
^^^
last 3 digits are zero

只需在 time &= ~0x7; 行前后打印 time,您就会看到区别。


如果您想将最后 3 位数字设置为零以表示十进制,那么您可以简单地执行以下操作:

time=(time/1000)*1000

关于java - 我想将最后三位设置为零,但我不知道我的代码错在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43910830/

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