• JavaScript 位运算符


    怎么使用

    正数
    3
    00000000 00000000 00000011 二进制编码
    
    
    ~3, 表示
    取反
    11111111 11111111 11111100 3二进制编码取反
    第一位是1 为负数,减1取反,得到对应的10进制
    11111111 11111111 11111011 减 1
    00000000 00000000 00000100 
    结果是-4
    
    
    -3
    先是3的二进制编码,然后取反,然后加1(补码)得到-3的二进制编码
    00000000 00000000 00000011     3二进制编码
    11111111 11111111 11111100     取反
    111111111 11111111 11111101      +1 是补码
    00000000 00000000 00000010   ~
    第一位是0 为正数,+2
    
    正数
    5
    00000000 00000000 00000101 二进制编码
    
    
    ~5, 表示
    取反
    11111111 11111111 11111010
    即需要将这个数减去1,再取一次反,然后加上负号,才能得到这个负数对应的10进制值。
    减1
    1001
    
    00000000 00000000 0000110
    6
    
    -6
    先是6的二进制编码,然后取反,然后加1(补码)得到-6的二进制编码
    00000000 00000000 00000110     6二进制编码
    11111111 11111111 11111001     取反
    111111111 11111111 11111010      +1 是补码
    00000000 00000000 00000101 ~-6
    第一位是0 为正数,5
    

    对任一数值 x 进行按位非操作的结果为 -(x + 1)。例如,~5 结果为 -6。

    • 负数转化为二进制,是此负数的二进制取反加1,
    • 二进制转化为10进制,如果是负数,减1取反,得到10进制,在加上负号
  • 相关阅读:
    Python笔记17(Django之路由系统)
    Python笔记16(Django介绍与安装)
    Python笔记16(Web框架本质)
    序列的区间操作
    并查集(入门)
    (补题 Uva 3027)Corporative Network
    (补题 cf 1167C)News Distribution
    (补题 CF 1013B 模拟)And
    (补题 CF 1234C)Pipes
    (补题 POJ 1679 次小生成树)The Unique MST
  • 原文地址:https://www.cnblogs.com/Running00/p/14173491.html
Copyright © 2020-2023  润新知