二进制转换的问题
答案:2 悬赏:0 手机版
解决时间 2021-05-24 15:11
- 提问者网友:黑米和小志
- 2021-05-23 14:39
我想读一个文本文件,然后把内容转换成二进制,写到另一个创建的二进制文件里,我现在主要的疑惑是读进来的文本数据用atoi()转换成整型数据后,写到二进制文件前,需要不需要转换成二进制,因为用fopen()中的参数"wb"创建的就是二进制文件。
最佳答案
- 五星知识达人网友:胯下狙击手
- 2021-05-23 15:43
你的意思是输出文件里面直接存01数字串,是吧?
如果是这样的话,你先atoi()得到整型数据后,然后再将得到的这个数转换成01串,最后输了到文件就可以了。
我给你写了一个10进制转2进制的函数,希望对你有用:
#include <stdio.h>
#define N 32 // 32表示int是32位的,当然也可以改成16位或其他。
void CANNGE(int X)
{
int i;
for(i=1; i<=N; i++)
{
if( (1<<N - i) & X)
printf("1");
else
printf("0");
}
}
int main(void)
{
int x;
scanf("%d", &x);
CANNGE(x);
getchar();
getchar();
return 0;
}
全部回答
- 1楼网友:未来江山和你
- 2021-05-23 17:07
好像不用吧
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯