gpt4 book ai didi

c - 从 C 中的文本文件中读取 8 位二进制数

转载 作者:太空宇宙 更新时间:2023-11-04 00:04:46 24 4
gpt4 key购买 nike

我正在尝试从 C 语言的文本文件中读取,其中包含要在另一个函数中使用的 8 位二进制数列表。

The text file is formatted like:
01101101
10110110
10101101
01001111
11010010
00010111
00101011

等等。 . .

这有点像我想做的

伪代码

void bincalc(char 8_bit_num){ 
//does stuff
}

int main()
{
FILE* f = fopen("test.txt", "r");
int n = 0, i = 0;
while( fscanf(f, "%d ", &n) > 0 ) // parse %d followed by a new line or space
{
bincalc(n);

}

fclose(f);

我认为我走在正确的轨道上,但我们非常感谢任何帮助。

最佳答案

这不是执行此操作的标准轨道,但没问题。您正在扫描读取 int 的文件,因此它将读取字符串并将它们解释为十进制数,您应该将其依次转换为相应的二进制,即转换 1010 十进制到 2^3+2^1=9 十进制。这当然是可以的,你只需要将10的次方转换为2的次方(1.10^3+0.10^2+1.10^1+0.10^0 to 1.2^3+0.2^2+ 1.2^1+0.2^0)。请注意,这适用于 8 位数字,但不适用于太大的数字(16 位则不行)。

比较常见的方式是直接读取字符串解码,或者逐字符读取并增量转换。

关于c - 从 C 中的文本文件中读取 8 位二进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28726256/

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