如题,我看视频写出来这个程序 但是运行出来的结果不对 显示都是1和结果不一样,不知道哪里出错了 代码如下 高手求解答
#include <stdio.h>
/*
传递整数n,用二进制表示
*/
void changeTo2 (int n) {
int len =sizeof(n)*8;//获取位数;
int i ;
int temp ;
for (i=0;i<len;i++){
temp = n ; //每次循环n这个数;
temp>>31-i; //依次右移31位 30位..... ;
int t =temp & 1; //用temp与1进行与操作获取每一位数;
printf("%d",t);
}
}
int main(){
changeTo2(13);
return 0;
}
|
|