位移详解

作者: Java酸不酸 | 来源:发表于2018-09-28 15:56 被阅读3次

位移运算符:<<、>>、>>>

(1) (int) 144 << 3

  • int:4个字节(一个字节8位),so:32位
  • <<左移运算符
  • 144的二进制左移3位,前面(高位)去000(3个0),后面(低位)补000(3个0)。低位补0
    10010000 -> 10010000000
    结果:1152

注意点:
如果移动的位数超过了该类型的最大位数,编译器会对移动的位数取模移动。如果是int类型移动35位,实际只移动了35%32=3位。

(2) (int)144 >> 3

    1. ">>" 右移运算符
    1. 144的二进制右移3位,后面(低位)去000(3个0),前面(高位)补000(3个0)。高位补0

10010000 -> 10010
结果:18

  • 另一种理解:
    • 左移运算符:num << n
      • 相当于num乘以2的n次方
    • 左移运算符:num >> n
      • 相当于num除以2的n次方

(3) (int)144 >>> 3

  1. 无符号右移运算符
  2. 规则:与>>类似,只是忽略符号位扩展,高位补0
  3. 无符号右移运算符只是对32位和64位的值有意义

其他数据类型依次类推!

相关文章

  • 位移详解

    位移运算符:<<、>>、>>> (1) (int) 144 << 3 int:4个字节(一个字节8位),so:32...

  • CSS3 transform 中的 matrix

    CSS的transforn详解 位移,旋转,偏移,缩放分别使用translate/rotate/skew/scal...

  • CSS3 transform 中的 matrix

    CSS的transforn详解 位移,旋转,偏移,缩放分别使用translate/rotate/skew/scal...

  • 位操作

    位操作详解 位运算的操作符有:&、|、^、~、>>、<<,六种,分别对应与,或,异或,按位取反,右位移,左位移 1...

  • CSS3的新特性;

    CSS3 Transform 转换(制作旋转、位移、缩放等效果详解); transform 的属性包括:旋转 ro...

  • 位移枚举NS_OPTIONS详解

    位运算知识简介 按位与&对应的两个二进制位均为1时,结果位才为1,否则为0(与1相&就保持原位,与0相&就为0)举...

  • 简要记录水平垂直居中方法!

    1、绝对定位 2、相对位移+transform位移 3、相对位移+transform位移+margin 4、相对位...

  • Java中的位移运算

    在Java中,位移运算属于基本运算,符号是<<和>>,即向左位移和向右位移。在Java中只有整数才能位移,所以其他...

  • 面试汇总javascript

    获取元素相对于父元素的位移 js: offsetLeft左位移 offsetTop上位移jquery: pos...

  • 位移

    依旧是没有温度的钢筋水泥,任性喷吐着工业尾气的城市,永远车水马龙,生机勃勃。现代交通使人本身在短时间内快速发生位移...

网友评论

    本文标题:位移详解

    本文链接:https://www.haomeiwen.com/subject/fhepoftx.html