本文实例讲述了java基于移位操作实现二进制处理的方法。分享给大家供大家参考,具体如下:
/**
* @author openks
* @since 2013-9-21 移位操作实例
*/
public class TestDisplacement {
/**
* @param args
*/
public static void main(String[] args) {
// 十进制数字2向左移3位 即 二进制的10向左移3位即10000 转换为十进制为2的4次方 即16
System.out.println("2向左移三位:" + (2 << 3));
System.out.println("7向左移一位:" + (7 << 1));
System.out.println("7向右移一位:" + (7 >> 1));
int n = 3;
System.out.println("2的" + n + "次方:" + (int) Math.pow(2, n));
System.out.println("1向左移" + n + "位:" + (1 << n));
System.out.println("可见2的N次方和1左移N位的值相等。。");
}
}
/**
* @author openks
* @since 2013-9-21
* 二进制十进制的处理 可用于权限控制 可最多管理32项权限
*/
public class TestBinary {
/**
* 获取十进制数字k转换为二进制后第index位的值
* @param k 十进制数字
* @param index 第index位 (从1开始)
* @return 十进制数字转换为二进制后第index位的值
*/
public static int getValue(Integer k,int index){
String string = Integer.toBinaryString(k);
int len = string.length();
System.out.println("二进制串为:"+string+"\n共有"+len+"位");
if(index>len){
return 0;
}else{
return string.charAt(len-index)-'0';
}
}
/**
* 设置十进制数字k转换为二进制后第index位的值并返回处理后的十进制数字
* @param k 十进制数字k
* @param index 第index位 (从1开始)
* @param m 该index位上的值 只有0,1两种选择
* @return 处理后的十进制数字
*/
public static int setValue(Integer k,int index,Integer m){
//相当于2的index-1次方
Integer t = 1<<(index-1);
if(t>k){
if(m==1){
return t+k;
}else{
return k;
}
}else{
int m1 = getValue(k,index);
if(m1==0){
return k+t;
}else{
return k-t;
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
int a=25;//原来权限值
int i=2;//要查看的位数
int d = 2;//要修改的位数
a= setValue(a, d, 1);//修改第d位的值为1
System.out.println("第"+i+"位的值为:"+getValue(a,i));
}
}
PS:这里再为大家推荐几款计算与转换工具供大家参考使用:
在线任意进制转换工具:
http://tools./transcoding/hexconvert
科学计算器在线使用_高级计算器在线计算:
http://tools./jisuanqi/jsqkexue
在线计算器_标准计算器:
http://tools./jisuanqi/jsq
希望本文所述对大家java程序设计有所帮助。
# java
# 移位操作
# 二进制
# Java移位运算符详解实例(小结)
# 浅析java移位符的具体使用
# Java利用移位运算将int型分解成四个byte型的方法
# java<<、>>、>>>移位操作方法
# java中关于移位运算符的demo与总结(推荐)
# Java中的位运算符、移位运算详细介绍
# java中的移位运算符心得总结
# Java中位运算(移位、位与、或、异或、非) 的简单实例
# Java三种移位运算符原理解析
# 十进制数
# 转换为
# 值为
# 转换工具
# 最多
# 两种
# 给大家
# 所述
# 几款
# 程序设计
# 再为
# 可用于
# 讲述了
# jisuanqi
# jsqkexue
# void
# main
# String
# lt
# gt
相关文章:
建站之星CMS五站合一模板配置与SEO优化指南
建站之星如何助力企业快速打造五合一网站?
如何通过二级域名建站提升品牌影响力?
高防服务器:AI智能防御DDoS攻击与数据安全保障
模具网站制作流程,如何找模具客户?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
如何高效搭建专业期货交易平台网站?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
宝塔面板如何快速创建新站点?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
,sp开头的版面叫什么?
公司网站设计制作厂家,怎么创建自己的一个网站?
如何在景安服务器上快速搭建个人网站?
如何通过西部建站助手安装IIS服务器?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
建站之星在线版空间:自助建站+智能模板一键生成方案
如何使用Golang安装API文档生成工具_快速生成接口文档
代刷网站制作软件,别人代刷火车票靠谱吗?
制作网站的公司有哪些,做一个公司网站要多少钱?
定制建站模板如何实现SEO优化与智能系统配置?18字教程
b2c电商网站制作流程,b2c水平综合的电商平台?
如何通过虚拟机搭建网站?详细步骤解析
如何配置支付宝与微信支付功能?
如何用PHP工具快速搭建高效网站?
如何快速使用云服务器搭建个人网站?
武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
深圳网站制作的公司有哪些,dido官方网站?
如何批量查询域名的建站时间记录?
专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?
Swift开发中switch语句值绑定模式
潮流网站制作头像软件下载,适合母子的网名有哪些?
建站之星后台管理系统如何操作?
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
建站之星如何保障用户数据免受黑客入侵?
如何高效利用亚马逊云主机搭建企业网站?
ppt制作免费网站有哪些,ppt模板免费下载网站?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
音响网站制作视频教程,隆霸音响官方网站?
定制建站哪家更专业可靠?推荐榜单揭晓
css网站制作参考文献有哪些,易聊怎么注册?
婚礼视频制作网站,学习*后期制作的网站有哪些?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
如何快速搭建高效简练网站?
Python lxml的etree和ElementTree有什么区别
C#怎么创建控制台应用 C# Console App项目创建方法
教学论文网站制作软件有哪些,写论文用什么软件
?
如何在香港免费服务器上快速搭建网站?
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
*请认真填写需求信息,我们会在24小时内与您取得联系。