博客
关于我
提取一个int类型数最右侧的1
阅读量:401 次
发布时间:2019-03-05

本文共 601 字,大约阅读时间需要 2 分钟。

提取整数的最右侧1

在编程或数据处理中,有时需要提取一个整数的最右侧1。例如,对于数6,其二进制表示为0000 0110。我们需要从中提取出最右侧的1,得到0000 0010。

算法描述

要实现这一目标,可以通过以下步骤进行:首先,将原数取反,这样最右侧的1变成0,而其右侧的所有位都变成1。然后,将这个结果加1,这样最右侧的1就会被提取出来,同时右侧的1变成0。最后,将提取的1与原数进行按位与操作,得到最终结果。

算法思路

具体来说,我们可以使用以下步骤来实现:1. 对原数取反,得到全1的右侧部分。2. 将结果加1,这样最右侧的1就会被提取出来。3. 用原数与操作提取出最右侧的1。

代码实现

以下是实现该功能的Java代码:

public static void findBit1RightNumber(int number) {      int temp = ~number;      temp += 1;      temp = number & temp;      System.out.println("取出右边的1为:" + intToBinary(temp));  }  /*** 将整数转换为二进制字符串 */ public static String intToBinary(int num) { return Integer.toBinaryString(num); }

转载地址:http://yjlzz.baihongyu.com/

你可能感兴趣的文章
nodejs 运行CMD命令
查看>>
nodejs+nginx获取真实ip
查看>>
nodejs-mime类型
查看>>
NodeJs——(11)控制权转移next
查看>>
NodeJS、NPM安装配置步骤(windows版本)
查看>>
NodeJS、NPM安装配置步骤(windows版本)
查看>>
nodejs与javascript中的aes加密
查看>>
nodejs中Express 路由统一设置缓存的小技巧
查看>>
Nodejs中的fs模块的使用
查看>>
nodejs包管理工具对比:npm、Yarn、cnpm、npx
查看>>
NodeJs单元测试之 API性能测试
查看>>
nodejs图片转换字节保存
查看>>
nodejs字符与字节之间的转换
查看>>
NodeJs学习笔记001--npm换源
查看>>
NodeJs学习笔记002--npm常用命令详解
查看>>
nodejs学习笔记一——nodejs安装
查看>>
NodeJS实现跨域的方法( 4种 )
查看>>
nodejs封装http请求
查看>>
nodejs常用组件
查看>>
nodejs开发公众号报错 40164,白名单配置找不到,竟然是这个原因
查看>>