gpt4 book ai didi

java - 如何在左移时截断二进制数?

转载 作者:行者123 更新时间:2023-12-01 23:57:19 25 4
gpt4 key购买 nike

如何在左移时减少二进制数而不是扩展位数?

int num = 0b101010;
num = num << 1 // I want num to be now 01010
num = num << 1 // I want num to be now 1010
num = num << 1 // I want num to be now 010
num = num << 1 // I want num to be now 10

有简单的方法吗?

最佳答案

是的,这很容易做到:制作一个包含所有数字的掩码(在您的情况下为 0b111111),然后使用它来使用 & 掩码您的原始号码。当您向右移动蒙版时,您会得到以下效果:

Number Mask   Result
------ ------ ------
101010 011111 001010
101010 001111 001010
101010 000111 000010
101010 000011 000010
101010 000011 000010
101010 000001 000000

关于java - 如何在左移时截断二进制数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15371827/

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