如何制作char的位掩码?

Хри*_*ров -2 c char

我有char value = "ab",如何转换它以获得以下位掩码int mask = 0xab?有可能制作int mask = 0x(value)或类似的东西.

Bla*_*aze 5

'ab'是一个多字符常数.它究竟是做什么的是实现定义,所以它不会在不同的编译器中给你相同的结果.无法保证结果在任何方面都有意义.你可能想要的是这个:

const unsigned char *a = "ab";
Run Code Online (Sandbox Code Playgroud)

现在它是一个字符串文字,你获取它的地址,并将它分配给一个指针.您可以像这样进行拆分:

char b = a[0];
char c = a[1];
Run Code Online (Sandbox Code Playgroud)

  • @ХристоТодоров`char`只有1个字节,''ab'需要2个字节.因此,当你指定`unsigned char a ='ab';`时,你只存储一个''ab'的2个字节,这只是其中一个字符. (2认同)