位运算

作者: 放开那个BUG | 来源:发表于2018-09-23 13:58 被阅读3次

一般位运算的题目都是神仙题,靠平时的积累。
一般位运算常见的操作符有:
& :按位与
| :按位或
^ :按位异或
~ :取反
<< :左移右侧补0

:右移左侧补符号位

:右移左侧补0

案例1

本题既涉及到位运算,又涉及到大数据。







如果要检查一个URL=a是否在集合里,只需要通过k个哈希函数计算,然后在bitarray中找到相应的位置,如果有一个不为黑,那么就不在集合里。只有所有的都为黑,才在集合里,但是有可能会产生误判。



布隆过滤器的真实错误率应该这样计算,可以看出,比原来的0.01%还要小。

案例2


案例3


案例4



这里很zhe'ye'j重要的一点是异或满足交换律和结合律,这也就解释了案例1的情况。

案例5


案例6


public static void main(String[] args){
        //默认的话text应该大于pw
        String text = "我爱北京天安门,哈哈";
        String pw = "123bigbang";
        StringBuffer text_ = new StringBuffer();// 存储加密后的字符串
        StringBuffer textAfter = new StringBuffer();//存储解密后的字符串
        for(int i = 0; i < text.length(); i++){
            text_.append((char)(text.charAt(i) ^ pw.charAt(i % pw.length())));
        }

        for(int i = 0; i < text_.length(); i++){
            textAfter.append((char)(text_.charAt(i) ^ pw.charAt(i % pw.length())));
        }

        System.out.println("原始字符串:" + text);
        System.out.println("加密后的字符串:" + text_);
        System.out.println("解密后的字符串:" + textAfter);
    }

相关文章

  • 3、小众运算符の大课堂(一)

    较为简单の位运算符: & 位与运算| 位或运算^ 位异或运算~ 位取反运算 举例: 要做位运算,首先要把数据转...

  • 位运算及其应用

    内容概要: 位运算基本操作 基于位运算的状态压缩 位运算经典应用 位运算解N皇后问题 位运算 符号描述规则&与1&...

  • 位运算及用位运算实现权限控制

    请自行补习位运算相关知识 位运算 位运算示例 权限控制

  • 开发基础随笔之位运算符(Bitwise Operators)

    位运算符,属于算术运算符 按位逻辑运算符: 位移运算符: 位运算符的运算数只能是整数 位移运算符:按位左移 a<<...

  • 强大的位运算符

    位取反运算符 位取反运算符(~)是对所有位的数字进行取反操作位取反运算符.png 位与运算符 位与运算符(&)可以...

  • 位运算

    位运算 1. &:按位与 规律:一假则假任何位上的数和1相&得到的结果还是那个数 2. |:按位或 规律:一真则真...

  • 位运算

    https://leetcode.com/problems/gray-code/description/这个位运算...

  • 位运算

    位运算符比一般的算术运算符速度要快,而且可以实现一些算术运算符不能实现的功能。如果要开发高效率程序,位运算符是必不...

  • 位运算

    1.不用加减乘除做加法 解法:分为三步①各位相加不进位,即先按位异或;②做进位,按位与并左移位;③结果相加,直至没...

  • 位运算

    位运算不仅可以简化某些复杂的操作,而且具有更快的计算速度。典型的应用就是除法,交换两个数值,以及在一个数组中寻找只...

网友评论

      本文标题:位运算

      本文链接:https://www.haomeiwen.com/subject/kdafoftx.html