zoukankan      html  css  js  c++  java
  • 位运算

    位运算:

    &  与   //任何值和0与运算都为0

    |   或   //任何值和-1或运算都为-1

    ~  取反  //

    ^  异或  //用于用户加密、哈希算法;

                 //其中哈希算法将高16位和低16位取异或,这样数据值就会尽量的50%出现1或者0,而如果用与、或等运算得到的值75%为0或者1了,

            //所以哈希算法采用异或。大数据到处采用哈希算法及哈希运算等...

    如何知道负数的值:

    A:负数取反加一为对应的正数值。----取法加一正负数相互成立

    1111 1110 取反为 0000 0001,再加1为0000 0010即 2,所以1111 1110 为 -2

    B:从右往左数第一个出现的1,然后前面取反就行

    1111 1110 第一个出现1的为第二个位,然后前面取反就为 0000 0010,所以1111 1110为-2

    1111 1111 第一个出现1的为第一个位,然后前面取反就我 0000 0001,所以为 -1

    &

    ************************************************

    0000 1010 = 10

    0000 0101 = 5

    --------------------

    0000 0000 = 0

    0000 1011 = 10

    0000 0101 = 5

    --------------------

    0000 1111 = 15

    ^

    ************************************************

    0000 0100 = 4

    0000 1010 = 10

    ---------------------

    0000 1110 = 14

    代码测试:

    import org.junit.Test;
    
    public class TestConverter {
    	@Test
    	public void test2(){
    		System.out.println(5 & 10);
    		System.out.println(5 | 10);
    		System.out.println(-1 | 99999);
    		System.out.println(0 & 99999);
    		System.out.println("=============");
    		System.out.println(~1);
    		System.out.println(4 ^ 10);
    	}
    }
    

      

  • 相关阅读:
    Python --- Python的简介
    Python---subline的安装与设置
    算法进阶指南(DFS和BFS)--- 小猫爬山
    算法进阶指南(递归)--- 递归实现排列型枚举
    算法进阶指南(递归)--- 递归实现组合型枚举
    算法进阶指南(递归)--- 递归实现指数型枚举
    linux命令行调试邮件服务器
    01_8_session
    01_7_cookies
    03_9_继承中的构造方法
  • 原文地址:https://www.cnblogs.com/liwenzhen238/p/8674522.html
Copyright © 2011-2022 走看看