美文网首页
(10)位运算题目

(10)位运算题目

作者: 顽皮的石头7788121 | 来源:发表于2019-03-13 11:12 被阅读0次

很多时候使用位运算可以简化一些问题的求解。包括&与运算;|或运算;^异或运算;<<左移;>>右移运算。

(1)2进制表示元素的组合

算法思路:假设有3个元素,则可以用二进制表说0-8,某一位为1则表明选取了该元素。

(2)二进制中的1的个数

算法思路:
方法1:最右位于1做与运算,结果为1则加1,直接右移。但如果是负数的话,右移会变成全1,陷入死循环。同时右移与除2是等价的,但是位运算比除法效率高很多。
方法2:为避免死循环,我们可以最右位与1做与运算,然后1左移1位,再做与运算。
方法3:把一个整数减去1,再和原来的数做与运算。会把该整数最右边全部变为0,一个整数二进制中有多少个1,就可以做多少次这种操作。

(3)判断一个整数是不是2的整数次方

算法思路:2的整数次方的数的二进制只有1位是1,其他位是0,减1后,最高位为0,其他位为1,做与运算,结果为0;

(4)输入两个数m,n,m的二进制表示需要改多少个才能成为n

算法思路:两个数异或,计算异或中结果中的1的个数。

相关文章

  • (10)位运算题目

    很多时候使用位运算可以简化一些问题的求解。包括&与运算;|或运算;^异或运算;<<左移;>>右移运算。 (1)2进...

  • C语言学习 - 位操作运算符

    位运算是两个变量的二进制进行运算。 位或运算符 位或运算符:| 位或运算:0|1 = 10|0 = 01|1 = ...

  • 12. 数学

    1. 位运算 2. 10进制进位,取余 3. 找规律题目 136. Single Number 利用取余操作的特性...

  • LeetCode刷题笔记(九)位运算

    九. 位运算 位运算不需要转换成10进制, 因此处理速度非常快。实战常用位运算 x & 1 == 1 判断奇偶 (...

  • 461. 汉明距离

    一 题目: 二 思路: 位运算,详细直接看代码吧 三 代码:

  • 位运算

    一般位运算的题目都是神仙题,靠平时的积累。一般位运算常见的操作符有:& :按位与| :按位或^ :按位异或~ :取...

  • 算法笔记之位运算实现加法

    看一下使用位运算实现加法运算的题目。 LeetCode 371. 两整数之和[https://leetcode-c...

  • C语言的位操作(One)

    In a word(一句话):合理利用内存——(导致了位运算的产生) 一、位运算 二、按位&与 eg:求10 &...

  • 数组中重复数问题

    题目 解法 知识点 1.“&”、“|”、“^”按位逻辑运算1.1 &是按位逻辑运算符,比如5 & 6,5和6转换为...

  • winng的二月第一周题目

    [1] A+B问题 |lintcode1 思路:题目中要求用位运算,百度位运算实现。然后开心地发现了这篇简书,写的...

网友评论

      本文标题:(10)位运算题目

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