如何用c语言编写将十进制的数转换成二进制数的程序
1个回答
展开全部
简单办法是用联合体,直接打印出来。
typedef union DANDB {
unsigned long int i; // 存放十进制数
unsigned char c[4]; // 按字元(bit) 直接打印它出来
} DandB;
int main()
{
int i,j;
DandB v; // v 是这种联合体变量
printf("Please enter a integer data\n");
scanf("%d",&v.i); // 输入正整数
// v.i = 15;
for (i=3;i>=0;i--){
for (j=7;j>=0;j--)
printf("%1d", (v.c[i] >> j) & 1); // 按字元把32位二进制打印出来
}
===
手工计算,要不断除2取余,获得所有位,再打印出来。
typedef union DANDB {
unsigned long int i; // 存放十进制数
unsigned char c[4]; // 按字元(bit) 直接打印它出来
} DandB;
int main()
{
int i,j;
DandB v; // v 是这种联合体变量
printf("Please enter a integer data\n");
scanf("%d",&v.i); // 输入正整数
// v.i = 15;
for (i=3;i>=0;i--){
for (j=7;j>=0;j--)
printf("%1d", (v.c[i] >> j) & 1); // 按字元把32位二进制打印出来
}
===
手工计算,要不断除2取余,获得所有位,再打印出来。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询