小编use*_*106的帖子

找到一个数字的平方

我发现了这个问题,

编写一个函数,返回给定整数n的平方而不使用乘法.

对此的解决方案是

public static int sq(int n){
        int i = n;
        int sq = 0;
        int count = 0;

        while(i > 0){
            if((i & 1) == 1){
                sq += n << count;
            }

            i = i >> 1;
            count++;
        }

        return sq;
    }
Run Code Online (Sandbox Code Playgroud)

我理解这个函数在做什么,但我不明白为什么这个有用.

谁能解释为什么这是一个有效的解决方案?

bit-manipulation bit bitwise-operators

5
推荐指数
1
解决办法
2653
查看次数

在python中使用*或**有什么好处吗?

让我们说我们有这个代码..

def test(**test):
    print test
def test2(test):
    print test

test(test=1, asterisk=2)
t = {"test":1, "asterisk":2}
test2(t)
Run Code Online (Sandbox Code Playgroud)

test和test2函数将打印出相同的结果.

使用**而不是传递字典有什么好处?

python

2
推荐指数
1
解决办法
168
查看次数

标签 统计

bit ×1

bit-manipulation ×1

bitwise-operators ×1

python ×1