int bit =(weight [i]&s)是什么意思

mtx8822

这是我的第一个问题,所以我想了解。下面是将十进制数转换为二进制的函数。我不明白这里发生了什么int bit = (weight[i] & s)

void showbits(unsigned char s)
{
    unsigned char weight[8] = { 1,2,4,8,16,32,64,128 };
    for (int = 7; i >= 0; i--)
    {
        int bit = (weight[i] & s);
        if (bit != 0)
            cout << '1';
        else cout << '0';
    }
}
安德烈亚斯·温泽尔(Andreas Wenzel)

在C中,&运算符可以具有两个含义:

  1. 运算符的地址(用作一元运算符时)
  2. 按位AND运算符(用作二进制运算符时)

另外,在C ++中(但在C中不是),在声明变量时使用它可能意味着声明的变量是引用。

在您描述问题的情况下,&运算符是按位AND运算符。

为了了解发生了什么,我将以weight二进制表示形式写入数组的所有值

00000001 (1)
00000010 (2)
00000100 (4)
00001000 (8)
00010000 (16)
00100000 (32)
01000000 (64)
10000000 (128)

通过对函数参数s和上面列出的值执行按位与运算,s在每次循环迭代中从变量提取特定的位在循环的第一次迭代中,将提取并打印最低有效(即最低)位,在循环的第二次迭代中,将提取下一个比特,依此类推。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

*(int *)a是什么意思?

来自分类Dev

C# int i = +1 是什么意思?

来自分类Dev

(int [] [])的方法是什么意思?

来自分类Dev

“ this [int index]”是什么意思?

来自分类Dev

*(int *)在C ++中是什么意思?

来自分类Dev

(int *)&var是什么意思?

来自分类Dev

*(int *)变量=值是什么意思?

来自分类Dev

*(int *)(buffer)是什么意思?

来自分类Dev

使用(int [] [])的方法是什么意思?

来自分类Dev

*((int *)(&val)+1)是什么意思

来自分类Dev

类型((Int)-> Int)在Swift中是什么意思?

来自分类Dev

c中的`int(*)(int)`关于类型是什么意思?

来自分类Dev

`int j = i + rand()/(RAND_MAX /(curr_pos-i)+ 1);`是什么意思?

来自分类Dev

这个语法*((unsigned int *)(buffer + i))在C中是什么意思

来自分类Dev

typedef int function(void *)是什么意思?

来自分类Dev

C ++中的int(expr)是什么意思?

来自分类Dev

这行代码是什么意思*((int *)(0))= 1 ;?

来自分类Dev

“ static int function(...)__acquires(..)__releases(...){”是什么意思?

来自分类Dev

Stack(int = 10),此语法是什么意思(C ++)?

来自分类Dev

`int const a [5]`到底是什么意思?

来自分类Dev

“ B(int b = 0):b(b){}”是什么意思?

来自分类Dev

“ int j =(strlen)(str)”是什么意思?

来自分类Dev

char(*)[int]在C ++中是什么意思?

来自分类Dev

“ typedef void *(* Something)(unsigned int)”是什么意思

来自分类Dev

此声明是什么意思“ int(* ptr [3])();”?

来自分类Dev

这个函数声明中 -> List[int] 是什么意思?

来自分类Dev

静态int(* const array [SIZE_ARRAY] ...)(int a)= {[SOMETHING] = something}`在C中是什么意思?

来自分类Dev

说“ int”从不等于“ int”类型的“ null”是什么意思?

来自分类Dev

“错误:从 'int' 到 'int (*)[8]' [-fpermissive] 的无效转换”是什么意思?

Related 相关文章

  1. 1

    *(int *)a是什么意思?

  2. 2

    C# int i = +1 是什么意思?

  3. 3

    (int [] [])的方法是什么意思?

  4. 4

    “ this [int index]”是什么意思?

  5. 5

    *(int *)在C ++中是什么意思?

  6. 6

    (int *)&var是什么意思?

  7. 7

    *(int *)变量=值是什么意思?

  8. 8

    *(int *)(buffer)是什么意思?

  9. 9

    使用(int [] [])的方法是什么意思?

  10. 10

    *((int *)(&val)+1)是什么意思

  11. 11

    类型((Int)-> Int)在Swift中是什么意思?

  12. 12

    c中的`int(*)(int)`关于类型是什么意思?

  13. 13

    `int j = i + rand()/(RAND_MAX /(curr_pos-i)+ 1);`是什么意思?

  14. 14

    这个语法*((unsigned int *)(buffer + i))在C中是什么意思

  15. 15

    typedef int function(void *)是什么意思?

  16. 16

    C ++中的int(expr)是什么意思?

  17. 17

    这行代码是什么意思*((int *)(0))= 1 ;?

  18. 18

    “ static int function(...)__acquires(..)__releases(...){”是什么意思?

  19. 19

    Stack(int = 10),此语法是什么意思(C ++)?

  20. 20

    `int const a [5]`到底是什么意思?

  21. 21

    “ B(int b = 0):b(b){}”是什么意思?

  22. 22

    “ int j =(strlen)(str)”是什么意思?

  23. 23

    char(*)[int]在C ++中是什么意思?

  24. 24

    “ typedef void *(* Something)(unsigned int)”是什么意思

  25. 25

    此声明是什么意思“ int(* ptr [3])();”?

  26. 26

    这个函数声明中 -> List[int] 是什么意思?

  27. 27

    静态int(* const array [SIZE_ARRAY] ...)(int a)= {[SOMETHING] = something}`在C中是什么意思?

  28. 28

    说“ int”从不等于“ int”类型的“ null”是什么意思?

  29. 29

    “错误:从 'int' 到 'int (*)[8]' [-fpermissive] 的无效转换”是什么意思?

热门标签

归档