除尘布袋弹簧式规格:C语言,怎么用递归函数,把输入的一个十进制整数转换成二进制数输出

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 02:58:18

评论 ┆ 举报

最佳答案此答案由提问者自己选择,并不代表百度知道知识人的观点

回答:w8g8h
学弟
12月21日 09:33 程序的主要思想是:
按位与的特点是,是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。
也就是说,按位与运算有3个对象,分别是两个参与运算的两个数和运算有的结果。这个和小学学习的普通加法一样。如:a+b=c,,a,b,c分别是3个对象。同样的,与运算也是一一样的意思:a & b = c.
只不过是与的意思和加法的意思不一样而已。

根据题目要求,我们已经得到了一个参与运算的数据,就是要转换的数,现在我们需要得到转换后的数,根据与运算规则,我们构造一个数,分别和待转换的数进行与运算,得到每一位的值,要么是0,要么是1。

程序如下:

#include <stdio.h>

int main(void)
{
const int iTimes=sizeof(int) * 8;

int iMask=1;

int x = 12345; //这个就是要转换的数

int x2[iTimes];

int i;

for( i=0 ; i<iTimes ; i++ ){
x2[i]=x & iMask;
iMask = iMask << 1;
// printf("%d",iMask);
}

printf("\n(%d)d=",x);

for( i=iTimes -1 ; i >=0 ; i-- ){
printf("%d",x2[i] ? 1 : 0 );
}
return 0;
}

揪错 ┆ 评论 ┆ 举报