zoukankan      html  css  js  c++  java
  • java<<、>>、<<<、>>>的计算

    四个都是移位运算符,不是10进制的移位,是转换为2进制的移位

    1、m<<n:m左移n位,也就是m转化成二进制,里面的数字左移n位

    十进制m1=9876‬;m2=-9876‬;

    m1<<3::::::m1=9876‬=0000 0000 0000 0000 0010 0110 1001 0100‬------------->左移三位:0000 0000 0000 0001 0011 0100 1010 0000------>79,008‬:::::::::::::::::::::::::::9876‬*(2^3)=79008

    m2<<3::::::m2=-9876‬=1111 1111 1111 1111 1101 1001 0110 1100------------->左移三位:1111 1111 1110 1100 1011 0110 0000------>-79,008‬:::::::::::::::::::::::::::-9876‬*(2^3)=-79008

     m<<n计算方法:m*(2^n)

    2、m>>n:m右移n位,也就是m转化成二进制,里面的数字右移n位

     m<<n计算方法:m/(2^n)

    3、m<<<n:m不计符号左移n位,也就是m转化成二进制,里面的数字左移n位

    符号即正负符号,一般正数空位为加0,负数空位为加1;不计符号也就是都以正数对待,因此对正数没有影响,和m<<n相同;

    负数需要计算2进制,移动得到新的二进制数字后,再计算得到10进制数字结果

    3、m>>>n:m不计符号右移n位,也就是m转化成二进制,里面的数字右移n位

    原理同m<<<n一样,对正数没有影响,和m<<n相同;

    负数需要计算2进制,移动得到新的二进制数字后,再计算得到10进制数字结果

  • 相关阅读:
    Javaweb中的监听器
    Maven
    Ajax
    jQuery
    Spring入门
    spring boot实战——微信点餐系统02:接口信息,分页工具,gson, 注解信息,表单验证,字段返回(时间处理,null处理)
    Nginx
    Spring Data JPA
    spring boot实战——微信点餐系统01:开始代码
    spring boot实战——微信点餐系统00:项目设计,环境搭建
  • 原文地址:https://www.cnblogs.com/lcxz/p/11376120.html
Copyright © 2011-2022 走看看