将特定数据复制到另一个变量中的特定位置
Copying specific data to particular position in another variable
我想从一个变量中复制一定数量的位到另一个变量中的特定位置
示例:我有 8 位数据。我想提取该字节的高 4 位并将它们从位位置 19 传输到 32 位数据变量。如何最好地实现这一点?
我试过跟随,但似乎没有用。而不是 19,我应该能够从零位置复制到甚至。
int bitPos=19; // Position where the extracted data needs to be copied
int var1; //32 bit data
unsigned char testByte;
testByte&=0xF0; // Lower nibbles not needed
testByte=testByte>>4; // Get only higher nibble
var1|=testByte<<bitPos;
我试过 运行 你的代码,它似乎工作正常。对于 testbyte = 64,我得到 var1 = 2097152.
可能是 int 不是您平台的 32 位,我想不出任何其他原因。
我想从一个变量中复制一定数量的位到另一个变量中的特定位置 示例:我有 8 位数据。我想提取该字节的高 4 位并将它们从位位置 19 传输到 32 位数据变量。如何最好地实现这一点? 我试过跟随,但似乎没有用。而不是 19,我应该能够从零位置复制到甚至。
int bitPos=19; // Position where the extracted data needs to be copied
int var1; //32 bit data
unsigned char testByte;
testByte&=0xF0; // Lower nibbles not needed
testByte=testByte>>4; // Get only higher nibble
var1|=testByte<<bitPos;
我试过 运行 你的代码,它似乎工作正常。对于 testbyte = 64,我得到 var1 = 2097152.
可能是 int 不是您平台的 32 位,我想不出任何其他原因。