gpt4 book ai didi

c - 如何使用C在char中存储8位

转载 作者:太空狗 更新时间:2023-10-29 15:09:27 25 4
gpt4 key购买 nike

我的意思是,如果我想存储例如 11110011,我想将它存储在内存中的 1 个字节中,而不是字符数组中。

例子:如果我在使用 scanf 时将 10001111 写为输入,它只会获取第一个 1 并将其存储在变量中,而我想要的是将整个值放入 char 类型的变量中,只消耗一个字节的内存。

最佳答案

一种写下来的方法是这样的:

unsigned char b = 1 << 7 |
1 << 6 |
1 << 5 |
1 << 4 |
0 << 3 |
0 << 2 |
1 << 1 |
1 << 0;

这是从字符串中读取它的片段:

int i;
char num[8] = "11110011";
unsigned char result = 0;

for ( i = 0; i < 8; ++i )
result |= (num[i] == '1') << (7 - i);

关于c - 如何使用C在char中存储8位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3289065/

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