Closed. This question needs details or clarity. It is not currently accepting answers. Learn more。
想改进这个问题吗?添加细节并通过editing this post澄清问题。
5年前关闭。
我怎么能一点一点地储存呢?
我需要从不同的变量中提取不同数量的位,并将它们放入缓冲区,如图所示。
现在我要取LSB并将其存储在unsigned char类型的缓冲区中。
用于提取我正在使用的
现在如何存储它以及之后的更多位呢?
您可以使用它来创建只有有限位的变量。
想改进这个问题吗?添加细节并通过editing this post澄清问题。
5年前关闭。
我怎么能一点一点地储存呢?
我需要从不同的变量中提取不同数量的位,并将它们放入缓冲区,如图所示。
unsigned char a;
a=5;
现在我要取LSB并将其存储在unsigned char类型的缓冲区中。
unsigned char buffer[5];
用于提取我正在使用的
a & 00000001
现在如何存储它以及之后的更多位呢?
最佳答案
我不知道你想做什么,但这里有一个按位移位的例子。
unsigned char b;
unsigned char c;
b = a & (1 << 0); /* Will store the least significant bit of a in b*/
c = a & (1 << 1); /* Will store the 2nd least significant bit of a in c*/
您可以使用它来创建只有有限位的变量。
typedef struct bit_s
{
unsigned int a : 1; /* only 1 bit available */
unsigned int b : 12; /* only 12 bits available */
} bit_t;
bit_t var;
var.a = 0;
var.a = 1;
var.a = 2; /* Will overflow the variable and create a warning with -Woverflow */
关于c - 在C linux中的一点点字符数组中存储一点点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23537053/
10-11 21:06