二进制在算法编写中的常用概念

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}+1\left ( n> 0\right )
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值