java中的移位运算符:<>,>>>总结

java中有三种移位运算符

<< : 左移运算符,num << 1,相当于num乘以2

>> : 右移运算符,num >> 1,相当于num除以2

>>> : 无符号右移,忽略符号位,空位都以0补齐

下面来看看这些移位运算都是怎样使用的

public class Test {

public static void main(String[] args) {

int number = 10;

//原始数二进制

printInfo(number);

number = number << 1;

//左移一位

printInfo(number);

number = number >> 1;

//右移一位

printInfo(number);

// 右 10 >> 1 除以 2 的 1次方

// 右 10 >> 2 除以 2 的 2次方

// 右 10 >> 3 除以 2 的 3次方

System.out.println(10 >> 1); // 5

System.out.println(10 >> 2); // 2

System.out.println(10 >> 3); // 1

System.out.println(10 >> 4); // 0

System.out.println(10 >> 5); // 0

// 左 10 << 1 剩以 2 的 1 次方

// 左 10 << 2 剩以 2 的 2 次方

// 左 10 << 2 剩以 2 的 3 次方

System.out.println(10 << 1); // 20

System.out.println(10 << 2); // 40

System.out.println(10 << 3); // 80

System.out.println(10 << 4); // 160

System.out.println(10 << 5); // 320

}

/**

* 输出一个int的二进制数

* @param num

*/

private static void printInfo(int num){

System.out.println(Integer.toBinaryString(num));

}

}

运行结果为:

1010

10100

1010

我们把上面的结果对齐一下:

43210 位数

--------

1010 十进制:10 原始数 number

10100 十进制:20 左移一位 number = number << 1;

1010 十进制:10 右移一位 number = number >> 1;

看了上面的demo,现在是不是对左移和右移了解了很多了呢

对于:>>>

无符号右移,忽略符号位,空位都以0补齐

value >>> num – num 指定要移位值 value 移动的位数。

无符号右移的规则只记住一点:忽略了符号位扩展,0补最高位 无符号右移运算符>>> 只是对32位和64位的值有意义

java 偏移符号_java中的移位运算符总结相关推荐

  1. java中 移位运算_java中关于移位运算符的demo与总结(推荐)

    首先,移位运算符有三种,其操作类型只支持:byte / short / char / int和long五种. << 左移运算符,表示将左边的操作数的二进制数据向左移动*位,移动后空缺位以0 ...

  2. java右移位_java中的移位运算符:,,总结

    java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >& ...

  3. java中的位移运算符_java中的移位运算符(, , )

    java中有3种移位运算符 < >>  :  右移运算符,不改变符号位,num >> n 表示二进制右移n位,结果相当于 num / (2的n次方) >>&g ...

  4. java 点符号_java中的特殊符号怎么打啊

    展开全部 java中的特殊符号不能直接输出,需62616964757a686964616fe58685e5aeb931333337623462要使用转义字符进行转义才能正常输出,如下:package  ...

  5. java中的移位运算符与无符号位移

    引用: java中有三种移位运算符 java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2>> : 右移运算符,num >&g ...

  6. java中有三种移位运算符

    java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >& ...

  7. java 是什么_java中是什么意思?

    java中>>>是什么意思? >>>是java中的移位运算符,表示无符号右移. 移位运算符面向的运算对象也是二进制的"位".可单独用它们处理整数 ...

  8. java中的移位运算符

    移位运算符是在数字的二进制形式上进行平移.主要有左移(<<).带符号右移(>>)以及无符号右移(>>>). 左移运算符(<<)的运算规则为:按二进 ...

  9. JAVA中常用的逻辑运算符_Java中常用的运算符

    运算符是一种"功能"符号,用以通知 Java 进行相关的运算,Java 语言中常用的运算符可分为如下几种: 算数运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符. 一.算数运 ...

最新文章

  1. win mysql 最大连接_常用的三种修改mysql最大连接数的方法
  2. 调用webservice查询手机号码归属地信息
  3. python正则表达式指南_Python正则表达式指南
  4. 如何使用modelarts训练海量数据
  5. 被约谈后,丰巢道歉并让步了......
  6. 95-10-092-启动-TokenManager
  7. (三)Java中的HashMap与HashTable的区别
  8. (github精选)优秀的openSCAD项目image2surface
  9. 07. Java中的类和对象(嗜血无敌战神破解版)
  10. python热身教程_[转载]技术教程-MayaPython教程二之Python
  11. Android 汽车电子功能安全模块化设计思路
  12. win101909要不要更新_近年最稳的Win10更新?Win101909值得升级吗
  13. Linux中 strsep 函数 详解
  14. 端到端的文本无关说话人确认的深度神经网络嵌入
  15. 使用 Coinbase 在 Polygon 网络上获取 MATIC
  16. Android与IOS的的兼容总结
  17. python学习第二天
  18. java数字转换MB,GB
  19. 小程序setData设置数据超过1024kb页面不渲染
  20. 计算成绩的及格率和优秀率

热门文章

  1. angular5项目端口冲突之解决办法
  2. git 如何把master分支代码合并到自己的分支
  3. 自定义预览_为什么NVR预览画面数量少于已经添加的通道数
  4. 简单地利用canvas载入视频
  5. 相机标定:PNP基于单应面解决多点透视问题
  6. 时序分析:使用卡尔曼滤波
  7. 常见八种安卓开发报错的方式
  8. Kinect安装与配置(openNI2)
  9. Angular之组件的创建
  10. Linux基础命令---文本过滤colrm