• Java 位运算符和移位运算符


    一,运算的位运算符: &  ~ |  ^   

     主要是对二进制的位计算

     

     

    &  : 两个操作数中位都为1 结果才为1   其他结果为0   

      forExample: 128&  129

     128转为二进制: 10000000

     129转为二进制: 10000001

        结果为: 1000000 为129

     

     

    | :  两个位只要有一个为1,那么结果就是1,否则就为0

    forExample: 还是 128 129的二进制  因为129的位上是1  所以结果129

     

       51:       110011 

       129: 10000001 

    结果为:      100110011   为179

     

    ~: 如果位为0,结果是1,如果位为1,结果是

     

    forExample: 2 为 0010  位上是0  非就是  0010  为3   因为2是正数,非为  -3

     

     

    ^ : 两个操作数的位中,相同则结果为0,不同则结果为1。

     计算二进制的方法: 

     

       51:      1 10011 

       129: 10000001 

     结果为:     10110010 结果为178

     

    转二进制的话:比如100 那么

    100/2 50 0

    50/2 25 0

    25/2 12 1

    12/2 6 0

    6/2 3 0

    3/2 1 1

    1/2 1 1 则值为 1100100B(从下往上读)二进制后加上B  十进制加D 

     

    二,移位运算符

     

    160>>> 3  

     

    160的二进制为: 10100000  向右移动3位为: 10100    4位  1010  5位  101  6位:10  7为  1  二进制最低为4位  不够在高位补0  也就是左边补0  

     

    x<<y 相当于 x*2y ;x>>y相当于x/2y

     

     // 二进制

    http://www.zybang.com/question/833a3488a881c0898b871872458ef4f6.html

     

     // 运算符介绍

    http://blog.csdn.net/vebasan/article/details/6193916

  • 相关阅读:
    KOVN(ECC) / PRCD_ELEMENTS(HANA)
    金税 NWBC
    Vim使用方法
    Codeforces Round #744 (Div. 3) 题解
    Codeforces Round #769 (Div. 2) 题解
    vue3切换theme功能
    elementPlus使用elicon
    Vite2+Vue3+ts的eslint设置踩坑
    elementPlus配合vuerouter搭建后台系统菜单模块
    js判断字符串是否是中文
  • 原文地址:https://www.cnblogs.com/Seeasunnyday/p/6411665.html
Copyright © 2020-2023  润新知