请描述c需要生成二进制过程

更新时间:02-02 教程 由 花栀 分享

请描述c需要生成二进制过程?

#include "stdio.h"

#include

// 把十进制整数转换为二进制的字符串。

// dec:待转换的十进制整数。

// pbin:用于存放转换后的字符串的地址,注意,您必须保证pbin足以存放转换后的结果,否则可能会产生内存溢出。在64位操作系统中,long的最大取值为2的64次方,所以,pbin最大不必超过65。

void dectobin(const long dec,char *pbin)

{

long ys=0; // 余数。

int s=dec; // 商。

int ii=0; // 位数的计数器。

char result[65]; // 十进制转换成二进制后,保存在result中,再反过来存放到pbin中。

memset(result,0,sizeof(result));

// 把十进制转换为二进制,存放在result中。

while (s>0)

{

ys=s%2;

s=s/2;

result[ii]=ys+'0';

ii++;

}

// 再把result字符串反过来,存放在pbin中。

int jj=0;

for (;ii>0;ii--)

{

pbin[jj]=result[ii-1];

jj++;

}

pbin[jj]=0; // 出于安全的考虑,加上0表示字符串结束。

}

int main()

{

int ii=0;

printf("请输入一个整数:");

scanf("%d",&ii);

char str[65];

dectobin(ii,str);

printf("%d的二进制输出是:%s\n",ii,str);

}

声明:关于《请描述c需要生成二进制过程》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2306760.html