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进制数字结果

  • 相关阅读:
    Python前戏
    Python概述
    博科Brocade 300光纤交换机配置zone教程
    pygame---制作一只会转弯的小乌龟
    UNIX故障--sun m4000服务器故障硬盘更换案例
    redhat系统升级openssh到7.5
    SAN---第二网的概念
    博科交换机常用操作命令
    博科brocade光纤交换机alias-zone的划分-->实操案例
    python常用内置函数
  • 原文地址:https://www.cnblogs.com/lcxz/p/11376120.html
Copyright © 2011-2022 走看看