黑马程序员技术交流社区
标题: 给大家分享下自制转化二进制优化算法-------(求加精)-------- [打印本页]
作者: wx_D3aDvzRw 时间: 2015-9-26 21:12
标题: 给大家分享下自制转化二进制优化算法-------(求加精)--------
本帖最后由 wx_D3aDvzRw 于 2015-9-26 21:28 编辑
#include <stdio.h>
//为了规避正负值的判断,采用1左移运算排除正负值干扰,嘿嘿,比老师那版代码格式看着好看些.
void changeTo0b(){
printf("请输入一个数字会以二进制输出\n");
int a;
scanf("%d",&a);
for (int i=1; i<=32; i++) {
printf("%d",a&1<<(32-i)?1:0);//移动1的位置从而与原数做与运算,为0打印0,非0打印1.
printf("%c",i%8?'\0':' ');//每8位输出一个空格提高输出阅读性
}
printf("\n");
}
int main() {
changeTo0b();
return 0;
}
[qq]1030046166[/qq]
黑马入学视频辅导班,双元课堂ios0919班 王旭
作者: chunjiang 时间: 2015-9-26 21:47
顶一个
作者: 哐啷 时间: 2015-9-26 21:49
顶一帖 支持加精
作者: yuezuiqingfeng 时间: 2015-9-26 21:52
赞一个
作者: 请叫我焦卷卷 时间: 2015-9-27 16:03
这方法思想好独特,这样就避免了因为原数右移产生的一系列问题,改用1主动左移去&原数,获取原数的每一位,而且for循环里的两个printf语句写的太帅了,不用多余变量,巧妙地利用了三目运算符可以返回一个值的特点完美与printf函数输出项结合,可见这位同学对所学知识的理解深度,以及灵活应用能力。赞。
作者: wx_D3aDvzRw 时间: 2015-9-27 18:26
嘿嘿 谢谢夸奖
作者: 请叫我焦卷卷 时间: 2015-9-27 18:28
不谢不谢~多多回复赚币呀~
作者: hailiqh 时间: 2015-9-27 18:30
挺好的思路
作者: wx_D3aDvzRw 时间: 2015-9-27 18:45
嘿嘿 谢谢支持
作者: sclea 时间: 2015-9-27 21:47
看了这算法真的是一种脑洞大开的感觉啊
作者: chenxiuyu 时间: 2015-9-27 22:02
然而你的技术分还是没有水够
作者: 请叫我焦卷卷 时间: 2015-9-28 06:40
chenxiuyu 发表于 2015-9-27 22:02
然而你的技术分还是没有水够
再说人家这写的确实棒~哈哈~
作者: 杰杰 时间: 2015-9-28 07:22
厉害啊。
作者: jing397 时间: 2015-10-1 14:10
赞一个!!!!
作者: 超の 时间: 2015-10-1 16:09
很好的算法
作者: wx_D3aDvzRw 时间: 2015-10-5 10:58
嘿嘿 见笑 见笑
作者: wx_D3aDvzRw 时间: 2015-10-5 11:00
见笑了哈
作者: lvguodong 时间: 2015-10-5 14:35
确实不错,我已经收录,猜猜我是谁?
作者: wx_D3aDvzRw 时间: 2015-10-5 16:09
同桌 你的id把你暴露了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |