本篇文章为你整理了分享实用小工具:JAVA版本位运算工具类(java位运算符在哪使用)的详细内容,包含有java位运算的运算规则 java位运算符在哪使用 java 位与运算 java位运算符的用法 分享实用小工具:JAVA版本位运算工具类,希望能帮助你了解 分享实用小工具:JAVA版本位运算工具类。
将二进制数中的每位数字1或0代表着某种开关标记,1为是,0为否,则一个数字可以代表N位的开关标记值,可有效减少过多的变量定义 或 过多的表字段,同时也能在一些复杂的组合判断场景下利用位与、位或、异或等位运算实现简单高效的逻辑判断
如下是JAVA版位运算工具类,没啥技术含量,主要是运用:位移、位与、位或、异或 运算,如果对位运算操作不清楚的可以阅读我之前的文章:简简单单学会C#位运算 - 梦在旅途 - (cnblogs.com) --虽是C#,其实原理都一样,与语言无关。
/**
* @author zuowenjun
* @description 位运算工具
* 用途:将二进制数中的每位数字1或0代表着某种开关标记,1为是,0为否,则一个数字可以代表N位的开关标记值,可有效减少过多的变量定义 或 过多的表字段
public class BitUtils {
* 获取二进制数字中指定位数的结果,如:1011,指定第2位,则结果是0,第3位,则结果是1
* @param num 二进制数(可以十进制数传入,也可使用0b开头的二进制数表示形式)
* @param bit 位数(第几位,从右往左,从0开始)
* @return
public static int getBitFlag(long num, int bit) {
return (int) num bit
* 更新二进制数字中指定位的值
* @param num 二进制数(可以十进制数传入,也可使用0b开头的二进制数表示形式)
* @param bit 位数(第几位,从右往左,从0开始)
* @param flagValue 位标记值(true=1,false=0)
* @return
public static long updateBitValue(long num, int bit, boolean flagValue) {
if (flagValue) {
//将某位由0改为1
return num (1 bit);
} else {
//将某位由1改为0
return num ^ (getBitFlag(num, bit) bit);
* 将数字转换为二制值形式字符串
* @param num
* @return
public static String toBinaryString(long num) {
return Long.toBinaryString(num);
MYSQL 的SQL语句也可以使用位运算进行查询或更新字段的操作哦,用法可自行查网络相关资料。
以上就是分享实用小工具:JAVA版本位运算工具类(java位运算符在哪使用)的详细内容,想要了解更多 分享实用小工具:JAVA版本位运算工具类的内容,请持续关注盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。