博客
关于我
提取一个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/

你可能感兴趣的文章
Opencv中KNN背景分割器
查看>>
OpenCV中基于已知相机方向的透视变形
查看>>
opencv之模糊处理
查看>>
opencv保存图片路径包含中文乱码解决方案
查看>>
opencv图像分割2-GMM
查看>>
OpenCV学习(13) 细化算法(1)(转)
查看>>
opencv笔记(1):图像缩放
查看>>
OpenCV(1)读写图像
查看>>
OpenCV:概念、历史、应用场景示例、核心模块、安装配置
查看>>
Openlayers Source基础及重点内容讲解
查看>>
openlayers 入门教程(八):Geoms 篇
查看>>
Openlayers中点击地图获取坐标并输出
查看>>
Openlayers图文版实战,vue项目从0到1做基础配置
查看>>
Openlayers实战:modifystart、modifyend互动示例
查看>>
Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
查看>>
Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
查看>>
Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
查看>>
Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
查看>>
Openlayers高级交互(8/20):选取feature,平移feature
查看>>
openlayers:圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
查看>>