zoukankan      html  css  js  c++  java
  • c 基础 -位计算

     

    1.十进制转二进制:67=2的6次方 + 2 + 1,即1+000000+1*2的1次方 + 1*2的0次方 =100000011

    2.n位二进制的取值范围:0 ~2的n次方 -1     eg 101,:110,011,

    3.二级制之间的一些计算:

      a.按位与 “&”

        规则:两个二进制位都是1,那么就给是1,否则结果是0

        作用:可以精确的判对比二进制位,只和1作对比就可以了,可以判断奇偶性(x位与1结果为1,那么x是奇数,结果为0,x是偶数)

        eg.   00101

            10100

           ---------------------

            00100

      b.按位或 “|”

        规则:两个二进制位只要有一个是1,那么结果就是1

        eg. 00101 | 10100  结果是:10101

      c.按位异或 “^”

        规则: 两个二进制位不相同,结果为1,否则结果是0

        结论:相同的两个是异或,结果为0

             异或可以交换 9^5^6=9^6^5

             任何数值跟0异或,结果还是原来的数,9^0=9

        综合应用:a ^ b ^ a=b

        eg.   00101 ^  10100  结果是:10001

      d.按位取反 “~”

        规则:一个二进制位上取反

        eg. ~10100 = 01011

      e.左移  “<<”

        规则:二进制位向左移 n 位,高位舍去,低位0补齐,

        结论:a << n ,结果是a*2的n次方

        作用:用于计算次方,性能比直接循环乘的方式好

      f.右移 “>>”

        规则:符号位不变,其它位向右移,舍去低位,一般用符号位值补齐高位

        结论:a >> n ,结果是:a除以2的n次方

  • 相关阅读:
    jsp 头像上传显示部分代码实现
    Spring Boot
    php好书推荐
    提升PHP编程效率的20个要素
    mysql怎么查询一条记录的前一条记录和后一条记录
    jquery load 和 iframe 比较
    setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式
    每日时间计划表
    Java获取某年第一天和最后一天
    s:if 判断
  • 原文地址:https://www.cnblogs.com/hui1107464497/p/4526274.html
Copyright © 2011-2022 走看看