zoukankan      html  css  js  c++  java
  • 二进制运算

    (1)按位与运算 &

       1 & 1 = 1, 0 & 1 = 0
    
       51 & 5  即 0011  0011 & 0000  0101 =0000 0001 = 1;
    

    (2)按位或运算 |

          1 | 0 = 1,1|1 =1,  0|0 =0  
        51 | 5 即 0011  0011 | 0000  0101 =0011  0111 =55;
    

    (3)异或运算 ^

         1 ^ 1 = 0,1 ^ 0 = 1   ,0^ 0 = 0(两个位的值不同,则结果为1,相同结果为0)
    
        51 ^ 5 即 0011  0011 ^0000  0101 =0011  0110=54;
    

    (4)<<左移运算符

    1.将一个运算对象的各二进制位全部左移若干位(左边的二进制丢弃,右边补0)
    
    (注意:java中 整数位 32位)
    
    11 << 2 = 44
    
    -14 <<2 =-56
    
    -14的二进制(11111111  11111111  11111111 11110010)左移2位
    
                为       11111111  11111111  11111111  11001000
    
            结果为(-56)(后面讲述负数在二进制中如何表示的)
    
    

    (5)>>右移运算符

    将一个运算对象的各二进制位全部右移若干位,正数左补0,负数左补1.
    
    4 >> 2 = 1;
    
    -14 >> 2 = -4;
    
    

    (6)~按位取反

    ~6 = -7
    

    (7)>>>无符号右移运算符

    二进制各个位向右移指定的位数,右移后左边空出来的位用零来填充,移出右边的位被丢弃。
    
    -14 >>> 2 =11111111  11111111  11111111 11110010 => 00111111 11111111  11111111  11111100 =1073741820
    
    

    (8)<<<无符号左移运算符

    二进制各个位向左移指定的位数,左移后右边空出来的位用零来填充,移出左边的位被丢弃。
    
    3 <<< 1  = 6 
    

    (9)二进制中负数的计算

    负数以正数的补码表示
    
    原码:一个整数按照绝对值的大小转化成二进制的数
    
    反码:将二进制数按位取反
    
    补码:反码加 1 
    
    以-14 举例
    
    原码:14 即 00000000  00000000  00000000  00001110
    
    反码:         11111111  11111111  11111111  11110001
    
    补码:          11111111 11111111  11111111  11110010
    
    所以-14  的二进制是 11111111 11111111  11111111  11110010
    
    假设 我们得到  二进制让我们求整数 就是倒着来取相反数
    
    如二进制是           11111111  11111111  11111111  11110010
    
    得到反码减1         11111111  11111111  11111111   11110001
    
    原码:                  00000000  00000000  00000000   00001110
    
     即  1110  = 14  所以取反  就是-14
    
  • 相关阅读:
    损失函数
    numpy中的broadcast
    混合模型
    贝叶斯学习
    python3中输出不换行
    C++11 实现 argsort
    Python中的闭包
    C语言 fread()与fwrite()函数说明与示例
    DFT与傅里叶变换的理解
    MISRA C:2012 Dir-1.1(只记录常犯的错误和常用的规则)Bit-fields inlineC99,NOT support in C90 #pragma
  • 原文地址:https://www.cnblogs.com/c-x-a/p/9478643.html
Copyright © 2011-2022 走看看