如何集体检查是否在无符号整数中设置了位?

柳叶刀

给定一个无符号整数,我想知道是否有一种方法可以确定单个操作中是否设置了多个位。已经存在一种通过逐位检查(如下所示)来执行此操作的替代方法,但我想知道是否存在一种方法可以集体检查所有位。

typedef enum Foo_X
{
  Foo_0 = 0x1,
  Foo_1 = 0x2,
  Foo_2 = 0x4,
  Foo_3 = 0x8,
} Foo_X;

bool CheckFoo ( UINT Value, Foo_X Foo_to_Check )
{
    if (Value & Foo_to_Check)
    {
        // Foo_to_Check is present
        return true;
    }
}

void main()
{
    UINT value = GetValueFromSomewhere();
    if (CheckFoo(value, Foo_0) && CheckFoo(value, Foo_3))
        // both Foo_0 and Foo_3 are present
    else
        // not both present
}

下面也显示了使用集体方法的示例。有任何想法吗?TIA!

bool CheckFooTogether ( UINT Value, UINT Foos_to_Check )
{
    // check value against Foos_to_Check collectively
}

void main()
{
    UINT value = GetValueFromSomewhere();
    if (CheckFooTogether (value, Foo_0 | Foo_3))
        // both Foo_0 and Foo_3 are present
    else
        // not both present           
}
强尼兹

(值&Foos_to_Check)== Foos_to_Check

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何检查整数中是否只设置了一位?

来自分类Dev

设置无符号整数的第n位

来自分类Dev

如何在python中获取16位无符号整数

来自分类Dev

Clojure中的无符号16位整数

来自分类Dev

将无符号整数中的位设置为两位之间最快的功能

来自分类Dev

如何检查是否在 MySQL 中设置了位

来自分类Dev

如何在Android中设置byte []长度的无符号整数

来自分类Dev

获取无符号整数中位的整数值

来自分类Dev

如何将 16 位无符号整数转换为 8 位无符号字符并最终返回无符号字符*?

来自分类Dev

如何直接在numpy数据类型中为16位无符号整数指定尾数?

来自分类Dev

如何在C ++中采用输入128位无符号整数

来自分类Dev

如何直接在numpy数据类型中为16位无符号整数指定尾数?

来自分类Dev

如何在C ++中采用输入128位无符号整数

来自分类Dev

如何在 JavaScript 中创建大小为 128 位的无符号整数数组?

来自分类Dev

如何读取/写入64位无符号小尾数整数?

来自分类Dev

在无符号整数中查找某些位模式

来自分类Dev

有人可以解释为什么这可以计算无符号整数中的设置位吗?

来自分类Dev

如何将32位带符号整数转换为64位无符号整数的高32位?

来自分类Dev

如何将32位带符号整数转换为64位无符号整数的高32位?

来自分类Dev

如何从32位R整数中提取4位无符号整数?

来自分类Dev

在C中对无符号强制转换是否更改位值

来自分类Dev

检查是否在DWORD中设置了某些位

来自分类Dev

Clojure无符号64位整数

来自分类Dev

以无符号16位整数存储RGB

来自分类Dev

无符号整数a = -1的位表示形式

来自分类Dev

无符号8位整数的左移运算

来自分类Dev

以无符号16位整数存储RGB

来自分类Dev

使用go lang中的bitshift从32位无符号整数中获取位

来自分类Dev

如何在Java中将有符号的16位整数转换为无符号的16位整数?

Related 相关文章

  1. 1

    如何检查整数中是否只设置了一位?

  2. 2

    设置无符号整数的第n位

  3. 3

    如何在python中获取16位无符号整数

  4. 4

    Clojure中的无符号16位整数

  5. 5

    将无符号整数中的位设置为两位之间最快的功能

  6. 6

    如何检查是否在 MySQL 中设置了位

  7. 7

    如何在Android中设置byte []长度的无符号整数

  8. 8

    获取无符号整数中位的整数值

  9. 9

    如何将 16 位无符号整数转换为 8 位无符号字符并最终返回无符号字符*?

  10. 10

    如何直接在numpy数据类型中为16位无符号整数指定尾数?

  11. 11

    如何在C ++中采用输入128位无符号整数

  12. 12

    如何直接在numpy数据类型中为16位无符号整数指定尾数?

  13. 13

    如何在C ++中采用输入128位无符号整数

  14. 14

    如何在 JavaScript 中创建大小为 128 位的无符号整数数组?

  15. 15

    如何读取/写入64位无符号小尾数整数?

  16. 16

    在无符号整数中查找某些位模式

  17. 17

    有人可以解释为什么这可以计算无符号整数中的设置位吗?

  18. 18

    如何将32位带符号整数转换为64位无符号整数的高32位?

  19. 19

    如何将32位带符号整数转换为64位无符号整数的高32位?

  20. 20

    如何从32位R整数中提取4位无符号整数?

  21. 21

    在C中对无符号强制转换是否更改位值

  22. 22

    检查是否在DWORD中设置了某些位

  23. 23

    Clojure无符号64位整数

  24. 24

    以无符号16位整数存储RGB

  25. 25

    无符号整数a = -1的位表示形式

  26. 26

    无符号8位整数的左移运算

  27. 27

    以无符号16位整数存储RGB

  28. 28

    使用go lang中的bitshift从32位无符号整数中获取位

  29. 29

    如何在Java中将有符号的16位整数转换为无符号的16位整数?

热门标签

归档