vb.net - 如何测试十进制数中的一位

标签 vb.net bitwise-operators boolean-logic boolean-operations

我有一组十进制数。我需要检查它们中是否设置了特定位。如果该位被设置,我需要返回1,否则返回0。
我正在寻找一种简单而快速的方法来做到这一点。
例如,我正在检查第三位是否已设置。我可以做 (number AND (2^2)),如果设置了该位,它将返回 4,否则它将返回 0。如何使其返回 1 而不是 4?
谢谢你!

最佳答案

if ((number AND (2^bitnumber) <> 0) then return 1 else return 0 end if

如果您可以将返回类型更改为 bool 值,那么这会更优雅

return ((number AND (2^bitnumber)) <> 0)

关于vb.net - 如何测试十进制数中的一位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14012765/

相关文章:

java - 使用按位运算符对密码类进行编码

java - 判断两个变量是真还是假的更好方法

javascript - JavaScript 中的简写 bool 逻辑

vb.net - 是什么导致了此代码中的 'CA2202: Do not dispose objects multiple times',我该如何重构?

VB.Net保存Word文档没有提示

language-agnostic - 与按位或运算相反

r - 为什么 TRUE == "TRUE"在 R 中是 TRUE?

.NET 4.0 应用程序在没有 Visual Studio 的机器上抛出异常

mysql - 如何将 SQL 查询中的列信息存储到字符串列表中?

c# - 我如何从 int 中得到一点?