lowbit 函数 精彩计算。
Posted 安果移不动
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lowbit 函数 精彩计算。相关的知识,希望对你有一定的参考价值。
计算最低位对应1的数值
比如7的二进制是多少 111
那么 他的计算方式就是
java
public int lowBit(int x)
return x&(x^(x-1));
public int lowBit2(int x)
return x&-x;
Kotlin
fun lowBit(x: Int): Int
return x and (x xor x) - 1
fun lowBit2(x: Int): Int
return x and -x
那么我们来试验一下我们的api
package com.example.learn1
fun main()
repeat(10)
println("当前是:$it 二进制是$it.toUInt().toString(radix = 2) 结果是 $lowBit(it)")
fun lowBit(x: Int): Int
return x and (x xor (x - 1))
fun lowBit2(x: Int): Int
return x and (-x)
非常的正确。
第二个lowBit也是同样的结果。
以上是关于lowbit 函数 精彩计算。的主要内容,如果未能解决你的问题,请参考以下文章