請描述c需要生成二進制過程?
#include "stdio.h"
#include <string.h>
// 把十進制整數轉換為二進制的字符串。
// 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);
}
上一篇XSS是指什么