java - 有没有办法从 int 获取 i(i 更改) lsb ?

标签 java lsb

我最近正在用java开发一个项目,我想处理一个整数的位,以便我可以检查一个数字的i lsb。 我找到了很多方法,但没有一个可以正确处理......

示例

键= 4 二进制中的 key 4100 我想以某种方式提取 4 的第三个 LSB,即 1。 有没有一种算法可以做到这一点?

最佳答案

使用位移位和按位与:(从 0 开始索引)

int getBit(int number, int index)
{
  return (number >> index) & 1;
}

getBit(4, 2) 返回 1。

您还可以使用%2代替&1

关于java - 有没有办法从 int 获取 i(i 更改) lsb ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16796649/

相关文章:

java - 将 java 文件导出为可运行的 .jar

python - 有没有一种Pythonic方法来检查操作系统是否是64位Ubuntu?

linux - 无法安装或更新 RHEL 5 的 redhat-lsb 软件包

java - Spring 5.1 + Tomcat 9 + Java 10 + 模块化项目 = java.lang.NoClassDefFoundError : org/springframework/core/io/Resource

java - 类型参数 FooEntity 隐藏了 FooEntity 类型

linux - 如何在 Ubuntu Linux 中执行 CMU 二进制炸弹?

linux - 我无法在我的 Oracle Enterprise Linux 中安装 google chrome

algorithm - 修改布斯算法中 LSB 添加的额外 0 有何作用?

java - 无法在 web.xml 中解析 Servlet

java - Java中应该使用哪种数据结构