• Go语言位运算


    1 Go位运算符有如下几种

    &:按位与:两位都为1,结果为1,否则为0
    |:按位或:只要有一位为1,结果就为1
    ^:按位异或:两对应的二进位相异时,结果为1
    <<:左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。
    >>:右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数

    简单记法:

    3<<4 :表示为3乘以2的4次方
    2>>3 :表示为2除以2的3次方

    2 案例

    a = 60  # 二进制位 0011 1100
    b = 13  # 二进制位 0000 1101
    
    '''
    a&b        按位与:两位都为1,结果为1,否则为0
    a          0011 1100
    b          0000 1101
    二进制结果   0000 1100
    十进制结果   12
    '''
    fmt.Println(a & b)
    
    '''
    a|b        按位或:只要有一位为1,结果就为1
    a          0011 1100
    b          0000 1101
    二进制结果   0011 1101
    十进制结果   61
    '''
    fmt.Println(a | b)
    
    
    '''
    a^b        按位异或:两对应的二进位相异时,结果为1 
    a          0011 1100
    b          0000 1101
    二进制结果   0011 0001
    十进制结果   49
    '''
    fmt.Println(a ^ b)
    
    
    '''
    << 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0
    a                0011 1100 
    a << 2           1111 0000
    十进制结果         240 
    '''
    fmt.Println(a << 2)
    
    
    '''
    >> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数
    a         0011 1100       
    a >> 2    0000 1111
    十进制结果   15 
    '''
    fmt.Println(a >> 2)
    
  • 相关阅读:
    toString的本质 以及String.valueOf()
    css3选择符
    HTML5标签
    css3-动画
    2D功能函数
    css过度
    css渐变
    BFC-块级格式化上下文
    表单补充
    表格补充:
  • 原文地址:https://www.cnblogs.com/liuqingzheng/p/16122011.html
Copyright © 2020-2023  润新知