java基础要点:[1]移位运算

 时间:2024-10-14 06:01:50

精度由大到小long争犸禀淫>double>int>float

范围由大到小double>float>long>int

移位运算

1)<<:左移位操作符

把2的二进制位向左移动3位,高位左移后溢出(以左为高),舍弃不用,在右边补0

2<<3:2的2进制表示法左移3位, 规律是左边的数字*2的右边的数字的次方

2的2进制应该是0000 0010,

左移3位后0001 0000

再转成十进制就是2*4=16

3<<2:3*2^2

-3<<2:-3*2^2

面试题:用最有效率的方法算出2乘以8等于几?

2<<3

2)>>:右移位操作符

表示算数右移,用来将一个数的二进制序列右移若干位,右端之后的空位用符号位填充,

如果是正数用0补,负数用1补充。

6>>2:1

00000000 00000000 00000000 00000110 6

00000000 00000000 00000000 00000110右移2位,正数补0,结果为1

00000000 00000000 00000000 00000001

-6>>2:-2

00000000 00000000 00000000 00000110 6

11111111 11111111 11111111 11111001

11111111 11111111 11111111 11111010 -6

右移两位,结果为负数

11111111 11111111 11111111 111111110

1000000000 00000000 00000000 000001

1000000000 00000000 00000000 000010 -2

3)>>>:无符号右移操作符

表示逻辑右移,用来将一个数的二进制位添0右移若干位,即向右移动若干位,

移到右端的低位被舍弃,最高位添0,它也叫无符号右移。规律:左边的数字/2^n

6>>>2:1

00000000 00000000 00000000 00000110 6

0000000000 00000000 00000000 00000110右移两位,正数补0,结果为1

-6>>>2:1073741822

11111111 11111111 11111111 11111010 -6

0011111111 11111111 11111111 11111010右移两位,补充0,结果为1073741822

4)移位操作的数据类型可以是byte,char,short,int ,long

但是对byte,char,short进行操作时会先把他们变成int型,最后得到int结果

  • 植物大战僵尸冒险时光版手机版下载教程
  • 英雄联盟傲之追猎者雷恩加尔操作小技巧
  • 汽车销售顾问需要掌握哪方面知识
  • 戒烟初期都需要做哪些准备
  • 百变大侦探定海荡寇记凶手是谁
  • 热门搜索
    梦想手抄报 建党节手抄报简单内容 世界无烟日手抄报 抗疫手抄报 中秋手抄报 清明节手抄报内容文字 禁毒手抄报内容写什么 珍爱生命预防溺水手抄报 小学手抄报 一二年级消防手抄报