相关疑难解决方法(0)

何时在C#中使用Shift运算符<< >>?

我正在研究C#中的移位运算符,试图找出何时在我的代码中使用它们.

我找到了答案,但对于Java,你可以:

a)进行更快的整数乘法和除法运算:

*4839534*4*可以这样做: 4839534 << 2

要么

543894/2可以这样做:543894 >> 1

对于大多数处理器,移位操作比乘法更快.

b)将字节流重组为int值

c)用于加速图形操作,因为红色,绿色和蓝色由单独的字节编码.

d)将小数字装入一个长的...


对于b,c和d,我无法想象这里是一个真实的样本.

有谁知道我们是否可以在C#中完成所有这些项目?C#中的移位运算符是否有更实用的用途?

c# operators bit-shift

29
推荐指数
4
解决办法
2万
查看次数

数独有效性检查算法 - 此代码如何工作?

我正在阅读这里发布的一个问题:C#中的数独算法

其中一个解决方案是这段代码.

public static bool IsValid(int[] values) {
        int flag = 0;
        foreach (int value in values) {
                if (value != 0) {
                        int bit = 1 << value;
                        if ((flag & bit) != 0) return false;
                        flag |= bit;
                }
        }
        return true;
}
Run Code Online (Sandbox Code Playgroud)

这个想法是它将检测值数组中的重复项; 但是我不知道有多少我不知所措.谁可以给我解释一下这个?

编辑:谢谢大家.这么多很棒的答案,我不知道如何选择一个.它现在非常有意义.

.net c# algorithm sudoku

19
推荐指数
2
解决办法
5566
查看次数

如何在.NET中不使用乘法运算符来实现乘法

我想在.NET中实现两个整数的乘法而不使用乘法运算符

public uint MultiplyNumbers(uint x, uint y)
{

}
Run Code Online (Sandbox Code Playgroud)

任何的想法!

.net c# operators multiplication

3
推荐指数
3
解决办法
2万
查看次数

标签 统计

c# ×3

.net ×2

operators ×2

algorithm ×1

bit-shift ×1

multiplication ×1

sudoku ×1