我有两个4位十六进制值A,B,我想创建一个8位的值,A是MSD,B是LSD:
这是我的尝试:
uint8_t X = (A << 4) & (B); 我正在获取一个值,但不确定它是否正确。
这是一种正确的方法吗?
发布于 2013-06-13 18:57:57
它需要是:
uint8_t X = (A << 4) | (B);
^^^这是因为您需要将这两个值bitwise OR (|)在一起才能将它们组合在一起,而不是bitwise AND (&)。
有关使用按位OR组合nbble值的类似示例,请参见this answer to your previous question。
https://stackoverflow.com/questions/17085001
复制相似问题