码迷,mamicode.com
首页 > 编程语言 > 详细

leetcode刷题——一些算法技巧总结2.0

时间:2018-12-24 16:28:32      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:line   判断   操作   相同   www   等于   blog   html   lock   

  1. 异或、与的一点总结(这些位运算真的是骚操作2333)

    • 两个相同的数字:a^a=0

    • 取出一个数最右端为1的那一位:a &=-a

      其中-a是在计算机中就是a的补码表示(这样所有的加法运算可以使用同一种电路完成),因为补码等于原码的反码+1,所以a&-a就是a最右边一位为1,其他位为0的数

      另外:~a = -a-1

      ? 已知负数的补码,求其原码:左右找1,此两1不变,中间取反。

    • x&x-1 ==0 判断 是否是2的n次方

    • x&1 最低位二进制数,可以用来判断奇偶

    • 一个数字除以2 x>>1效率更高

leetcode刷题——一些算法技巧总结2.0

标签:line   判断   操作   相同   www   等于   blog   html   lock   

原文地址:https://www.cnblogs.com/zlting/p/10168456.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!