为什么在c#中使用逐位操作进行随机采样而不进行替换?

为什么在c#中使用逐位操作进行随机采样而不进行替换?,c#,random,C#,Random,范例 在c#中无替换的随机抽样示例中,为什么OP选择在算法中使用逐位运算,该算法计算总权重,然后选择要选择的元素 我在网上搜索了这个算法的其他例子,但没有找到。从我的角度看,它是否更有效,因为它的可读性似乎更低 谢谢。我在链接问题中看到的唯一按位运算是执行I>1,这与乘以或除以2相同。一般来说,它似乎与算法无关,但更像是完成这两个数学运算的语法捷径。

范例

在c#中无替换的随机抽样示例中,为什么OP选择在算法中使用逐位运算,该算法计算总权重,然后选择要选择的元素

我在网上搜索了这个算法的其他例子,但没有找到。从我的角度看,它是否更有效,因为它的可读性似乎更低


谢谢。

我在链接问题中看到的唯一按位运算是执行
I>1
,这与乘以或除以2相同。一般来说,它似乎与算法无关,但更像是完成这两个数学运算的语法捷径。