gpt4 book ai didi

将 14 位转换为 8 位并返回

转载 作者:太空宇宙 更新时间:2023-11-04 04:50:18 25 4
gpt4 key购买 nike

我写了一些 C 代码,其中我有一个 14 位数字,我想将其转换为 2 位字节,其中两个 msb 必须为零。换句话说,16383(二进制 111111111111111)应该以 MSB = 00111111 和 LSB = 11111111 的形式出现。我使用的代码如下所示。这是正确的吗?

dataMSB = (number>>8) & 0x00FF;
dataLSB = number & 0x00FF;

然后我有另一个 14 位数字作为两个 8 位字节输入,其中两个 lsb 需要被丢弃。在这里,我很确定我做错了,但不确定。有什么想法吗?

number = dataMSB << 8;
number += dataLSB;

最佳答案

IDEOne 上的简单测试显示您的代码正确执行。

int number = 16000;

int dataMSB = (number >> 8) & 0x00FF;
int dataLSB = number & 0x00FF;

// This prints 62 and 128, which is an expected result.
// 62 = 00111110
// 128 = 10000000
cout << dataMSB << " " << dataLSB << endl;

number = dataMSB << 8;
number += dataLSB;

// This prints 16000 as expected.
cout << number << endl;

关于将 14 位转换为 8 位并返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16165539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com