黑马程序员技术交流社区

标题: 还是十进制到十六进制问题, [打印本页]

作者: 8047107    时间: 2013-5-13 19:10
标题: 还是十进制到十六进制问题,
本帖最后由 8047107 于 2013-5-13 19:26 编辑


看图了哈,这里,老师讲到只要num!=0.循环就一直转下去。视频里也有很多同学不解,然后老师说你们说的是temp我说的是num。
我想一会,有点了解了。但是始终无法用语言表达清楚,谁能解释一下呢?
作者: 8047107    时间: 2013-5-13 19:26
尹桥印 发表于 2013-5-13 19:12
num一直无符号右移4位,移到num == 0的时候再右移的话还是一大堆0,是不是就没有意思了? ...

嗯 我觉得跟temp一点关系都没有 老师提到这个我很纳闷  
就是num等于0 不等于0的问题。
作者: 神之梦    时间: 2013-5-13 19:29
其中temp是存放的每次num右移之前取出的低四位值,肯定不能拿temp去判断了,num右移了4位之后,只要不等于0,当然就会循环执行啦,所以这里用num!=0条件语句是最好的。因为我们的目的是取出num中每四个二进制位的值。
作者: 王靖远    时间: 2013-5-13 20:08
num是你要转换的数,这个数转换成二进制也许只有前8个二进制位上有数。移第三次和第四次不就都一样了吗?不过移的都是0以后应该就会出现num==0了。循环就结束了。这个temp记录的才是转换来的十六进制数。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2