满意答案
btjtkk
2013.07.03
采纳率:45% 等级:12
已帮助:7366人
程序的主要思想是:
按位与的特点是,是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。
也就是说,按位与运算有3个对象,分别是两个参与运算的两个数和运算有的结果。这个和小学学习的普通加法一样。如:a+b=c,,a,b,c分别是3个对象。同样的,与运算也是一一样的意思:a & b = c.
只不过是与的意思和加法的意思不一样而已。
根据题目要求,我们已经得到了一个参与运算的数据,就是要转换的数,现在我们需要得到转换后的数,根据与运算规则,我们构造一个数,分别和待转换的数进行与运算,得到每一位的值,要么是0,要么是1。
程序如下:
#include
int main(void)
{
const int iTimes=sizeof(int) * 8;
int iMask=1;
int x = 12345; //这个就是要转换的数
int x2[iTimes];
int i;
for( i=0 ; 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;
}
03分享举报