全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java基于移位操作实现二进制处理的方法示例

本文实例讲述了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小时内与您取得联系。