Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何从2字节字符数组中提取12位?_C++_Char_Bitwise Operators_Bit - Fatal编程技术网

C++ 如何从2字节字符数组中提取12位?

C++ 如何从2字节字符数组中提取12位?,c++,char,bitwise-operators,bit,C++,Char,Bitwise Operators,Bit,我正在从二进制文件中提取数据。其中一个数据值被压缩为两个字节,但16位中只有12位包含相关信息: 有人有办法提取这张图片中的12位吗?将两位存储在无符号字符缓冲区[2]中。对字符的处理与对任何其他类型的处理相同-如果左侧大于右侧,则返回1;如果右侧大于右侧,则返回0 这在这里没有意义 如果你是从互联网上复制的,我怀疑作者写了>,但格式在某个时候被网站弄乱了。你确定这不是>?我很确定这个问题中有拼写错误。即使是>,这个计算也不会提取图像中显示的12位(它以奇怪的顺序提取不同的12位)。必须有更多关

我正在从二进制文件中提取数据。其中一个数据值被压缩为两个字节,但16位中只有12位包含相关信息:


有人有办法提取这张图片中的12位吗?将两位存储在无符号字符缓冲区[2]中。

字符的处理与对任何其他类型的处理相同-如果左侧大于右侧,则返回1;如果右侧大于右侧,则返回0

这在这里没有意义


如果你是从互联网上复制的,我怀疑作者写了
>
,但格式在某个时候被网站弄乱了。

你确定这不是
>
?我很确定这个问题中有拼写错误。即使是
>
,这个计算也不会提取图像中显示的12位(它以奇怪的顺序提取不同的12位)。必须有更多关于此数据表示什么的信息。即使这些应该是右移位运算符而不是大于运算符,仅从数据重建16位无符号整数将是
((缓冲区[0]&0x0f)你在哪里找到的代码?它没有你说的那样做。你确定代码是指这个特定的数据包,还是你找到的其他“提取12位”代码?