我试图从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);

}
我想我走的是正确的道路,但是任何帮助都是值得感谢的。

最佳答案

这不是标准的赛道,但可以您正在扫描读取ints的文件,因此它将读取字符串并将其解释为十进制数,然后您应将其转换为相应的二进制数,即将1010十进制数转换为2^3+2^1=9十进制数当然这是可能的,你只需要把10的幂转换成2的幂(1.10^3+0.10^2+1.10^1+0.10^0到1.2^3+0.2^2+1.2^1+0.2^0)请注意,这项工作与8位数字,但不要与太大的数字(16位不会)。
更常见的方法是直接读取字符串并解码字符串,或者逐字符读取并进行增量转换。

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

10-11 22:57