zoukankan      html  css  js  c++  java
  • 逻辑运算(&、|、^、~)

    “&”(位与)运算符 

    例如:27&5    //1即00001

    11011

    00101

    ————

    00001

    1与1为1,1与0为0,0与1为0,0与0为0

    将十进制转为二进制再进行计算

    典型案例:判断奇偶

    js中:

    var n = 3;

    n&1 //1

    console.log(n & 1 ? "n是奇数" : "n是偶数")

    当n为奇数时返回1,当n为偶数时返回0

    “|”(位或)运算符

    例如:27&5    //31即11111

    11011

    00101

    ————

    11111

    1或1为1,1或0为1,0或1为1,0或0为0

    运用案例 取整

    var n1 = 1.79
    var n2 = 30.3
    var n = n1 | 0 //1
    var 2 = n2 | 0 //30

    “^”(异或)运算符

    例如:27^5  //30

    11011

    00101

    ————

    11110

    1异或1为0,1异或0为1,0异或1为1,0异或0为0

    27^11 //16

    11011

    01011

    ————

    10000

    “~”运算符

    • “~”(位非) -- 运算 27~5
    第一个数的位值第一个数的位值运算结果运算过程
    1 0 0 1位非0=1
    1 0 0 1位非0=1
    0 1 0 0位非1=1
    1 0 0 1位非0=1
    1 1 1 1位非1=0

    结果为二进制11110转为10进制为30

    • 运用案例 直接取整 字符串数字取整
    var n1 = 1.79
    var n2 = "30.3”
    var n = ~~n1 //1
    var 2 = ~~n2 //30
     
    踩过这个坑,还有下一个坑等着你,这一路就是给自己填坑,坑填多了,也就习惯了,直到这一路平坦了,也就无怨无悔了。
  • 相关阅读:
    android截屏
    生产者消费者 ProducerConsumer
    实现RunOnUiThread和RunOnUiThreadBlock
    快速断网恢复方法
    JFrame2
    JFrame
    圆角矩形shader
    [转]Apache commons 工具包应用
    转载 [Java]读取文件方法大全
    转:aop的学习
  • 原文地址:https://www.cnblogs.com/xiaofeilin/p/14789947.html
Copyright © 2011-2022 走看看