zoukankan      html  css  js  c++  java
  • 二进制在算法编写中的常用概念

    1.已知一个二进制数字(例如:1100101),转换为十进制数字:

    2.当一个数字为奇数时,这个数字的二进制表示的最后一位一定为1: 

    • 这是因为在二进制表示十进制中,二进制数字的最后一位所代表的数字为2^{0},也就是1.
    • 因为二进制中只能一位一位的表示,也就是说,2^{0}只有存在或不存在两种状态
    • 那么,假设这个数为偶数,且最后一位为1(实际上这种情况不成立),就必然在二进制数中,有另外一个数能够表示一个奇数,从而保证两个奇数相加为偶数,也就保证了结果仍然是偶数.但在二进制转换为十进制中,只有最后一位能表示奇数.所以,如果一个数为偶数,那么最后一位必然为0
    • 因此,如果一个数为奇数,那么这个数的二进制表示的最后一位一定为1.

    3.在对一个数x进行右移的过程中,假设每次右移一位,则一共需要右移约{log_{2}}^{x}次才能使x的值变为0

    • 通过二进制的表示方法即可推得(不了解的话可以在纸上手写验证一下)

    4.与二进制相关的一些常用推论:

    • 2^{n}=2^{0}+2^{1}+...+2^{n-1}+1left ( n> 0
ight )
  • 相关阅读:
    Swagger3.X和2.X—从入门到实战
    Java工具—Lombok
    使用Java伪造测试数据
    URL
    Java 16个超级实用的工具类
    Redis一篇从入门到实战
    MongoDB一篇从入门到实战
    admin后台管理
    auth模块
    day12_01闭包函数
  • 原文地址:https://www.cnblogs.com/zbsy-wwx/p/11680700.html
Copyright © 2011-2022 走看看