A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 8047107 高级黑马   /  2013-5-13 19:10  /  1515 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 8047107 于 2013-5-13 19:26 编辑


看图了哈,这里,老师讲到只要num!=0.循环就一直转下去。视频里也有很多同学不解,然后老师说你们说的是temp我说的是num。
我想一会,有点了解了。但是始终无法用语言表达清楚,谁能解释一下呢?

5 个回复

倒序浏览
尹桥印 发表于 2013-5-13 19:12
num一直无符号右移4位,移到num == 0的时候再右移的话还是一大堆0,是不是就没有意思了? ...

嗯 我觉得跟temp一点关系都没有 老师提到这个我很纳闷  
就是num等于0 不等于0的问题。
回复 使用道具 举报
其中temp是存放的每次num右移之前取出的低四位值,肯定不能拿temp去判断了,num右移了4位之后,只要不等于0,当然就会循环执行啦,所以这里用num!=0条件语句是最好的。因为我们的目的是取出num中每四个二进制位的值。
回复 使用道具 举报
num是你要转换的数,这个数转换成二进制也许只有前8个二进制位上有数。移第三次和第四次不就都一样了吗?不过移的都是0以后应该就会出现num==0了。循环就结束了。这个temp记录的才是转换来的十六进制数。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马