黑马程序员技术交流社区
标题:
编写程序实现输出2进制格式的数
[打印本页]
作者:
wxh794708907
时间:
2015-7-19 09:29
标题:
编写程序实现输出2进制格式的数
如题,我看视频写出来这个程序 但是运行出来的结果不对 显示都是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;
}
作者:
神马都是浮云
时间:
2015-7-19 10:32
temp>>31-i 你这一句就没有赋值给temp 原来temp是13现在还是13...你应该temp = temp>>31-i
作者:
丁铭检
时间:
2015-7-19 12:05
同上。。。这个貌似是老师的代码。。
作者:
wxh794708907
时间:
2015-7-19 13:16
神马都是浮云 发表于 2015-7-19 10:32
temp>>31-i 你这一句就没有赋值给temp 原来temp是13现在还是13...你应该temp = temp>>31-i ...
谢谢 懂了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2