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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fanrong 中级黑马   /  2015-6-17 19:07  /  1613 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

用查表法做由十进制转为十六进制,我今天听了三遍,才终于懂了,
          1,定义一个数组chs[] ,并将0 1 2 3 4 5 6 7 8 9 A  B  C  D  E  F全都写进去
          2,再定义一个数组arr【】。用于存储求出的16进制的每一位
          3,在定义一个指针,int pos=arr.length倒着存入,可以正着输出
          4,开始进入循环while(num!=0)
                    定义一个temp,用于获取后四个二进制,=num&15
                    arr[--pos]=chs[temp]用于存储求出的数值,--pos是为了就只从有效位开始
                    num=num>>>4  再去下一个后四位
          5,遍历数组arr[].正着,并从有效位开始输出
一开始听完一遍,觉得会了就觉得可以了,但是再让我敲十进制转化为二进制,我就发现我还是不会,从这也可以看出来,学Java主要是要学习每一个知识点的思想,思想会了,就可以以不变应万变了。所以自己要努力的地方还有好多啊,但其实我还想问怎么样才能抓住问题的思想呢?

9 个回复

倒序浏览
我个人觉得吧,引用老毕说过的一句话:经验都是从错误中积累而来的,你犯的错越多,就越有经验。所以刚开始的时候别怕犯错,初学者一开始可能问题很多,都是很正常的。可是当你越学越多的时候,你往前回顾时,就会发现很多当时不太理解的东西到了现在有了不一样的理解。所以建议下次开始敲之前呢,先将你准备要做什么,即你的思路先写下来,当遇到问题时,不要急着做,而是先想要怎么做,代码仅仅只是思想的一种体现而已,思想这东西也有点复杂。。或许是熟能生巧吧,说了这么多感觉也没怎么说到点子上。。楼主加油~
回复 使用道具 举报
不是问题的思想,而是问题的思路,要学会医生思维,首先你要明白第一步是干什么的,第二步是干什么的,比如十进制到十六进制,十六进制是四位代表以为,你把十进制与15,获得是二进制的,二进制然后四位代表以为,获得十六进制,但是此时的有些数据可能大于就,所以就需要进行判断了,大于9的就在表里面查找到对应的十六进制符号
回复 使用道具 举报
开学时候就讲了  学语言第一是学思想
回复 使用道具 举报
sineom 发表于 2015-6-17 23:28
不是问题的思想,而是问题的思路,要学会医生思维,首先你要明白第一步是干什么的,第二步是干什么的,比如 ...

本质是在底层是0000-0000 0000-0000 0000-0000 0000-0000 这样的 然后十六进制是四位二进制代表一位,首先获取十进制的二进制,不就出来了
回复 使用道具 举报
新生学习来了
回复 使用道具 举报
tgwxfs 中级黑马 2015-6-18 11:47:02
7#
candy_xue 发表于 2015-6-17 23:29
开学时候就讲了  学语言第一是学思想

思想很简单= =面向对象的思想…主要应该是解题的思路= =思想这东西只是给你一个大概轮廓= =
回复 使用道具 举报
meng12 中级黑马 2015-6-18 12:22:08
8#
过来学习一下
回复 使用道具 举报
DAN66 发表于 2015-6-17 23:27
我个人觉得吧,引用老毕说过的一句话:经验都是从错误中积累而来的,你犯的错越多,就越有经验。所以刚开始 ...

可能大多数的人刚开始的时候都像我这样吧,谢谢你的建议,我会借鉴的
回复 使用道具 举报
sineom 发表于 2015-6-17 23:28
不是问题的思想,而是问题的思路,要学会医生思维,首先你要明白第一步是干什么的,第二步是干什么的,比如 ...

恩恩,以后会写思路了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马