易学笔记-Go语言-第4章:基本结构和基本数据类型/4.5 基本类型/4.5.6 位运算

  • 位运算
  1. 位运算是针对二进制中的0和1进行的运算
  2. 按位与:& 两个位都是1则为1,其它为0
  3. 按位或:| 两个位其它一个为1则为1,其它为0
  4. 位清除 &^:指定的位置为0,比如 11&^2 等于 9 ,因为11的二进制为:1011,把第2位置为0则是1001,所以转换为十进制后结果是9
  5. 按位异或:^,相同为0,不同为1,可用于交换两个数
  6. 左位移<<:丢弃高位,低位补0,如果是负数,最高那位依然是1,相当于乘以2的次方
  7. 右位移>>:丢弃低位,高位补0,如果是负数,最高那位依然是1,相当于除以2的次方
  8. 举例:左位移产生磁盘存储单位大小
    1. 代码:
      const (
          _          = iota             // 把iota为0
          KB float64 = 1 << (10 * iota) //这时候的iota为1,KB= 1024,后面依次加1
          MB                            //相当于 1024 *1024,后面依次类推
          GB
      
          TB
      
          PB
      
          EB
      
          ZB
      
          YB
      
      )
      fmt.Printf("%1.0f\n", YB)
    2. 结果:

      1208925819614629174706176

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易学笔记(qq:1776565180)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值