学到新知识了。
----------------解决方案--------------------------------------------------------
这知识我还没学到那去
----------------解决方案--------------------------------------------------------
对了是二进制转十进制啊。
别弄成十进制转二进制咯。
----------------解决方案--------------------------------------------------------
例如 9
要是笔算的话 是 9/2=4余1 把这个1保留下来 这就是压栈 以此类推
直到 2/2=1余0
接着从下往上的顺序 就是1001 这就是出栈
----------------解决方案--------------------------------------------------------
LZ的标题有问题啊!
一般数据结构书上都会讲到这种压栈的方法,不过对于十进制转换成二进制这也是最低级的方法。好点的做法就是移位,每次移移位,int共移32位,long共移64位,取出取出每次移除的那一位就可以了
不过java封装的很好,Integer.toBinaryString(100);也就搞定了
toBinaryString就是采用移位做的,LZ可以去看看源码
转成16进制有toHexString
转成8进制有toOctalString
LZ可以去看看他们的源码,他们在java.long.Integer和java.lang.Long类里都有,属于static方法
----------------解决方案--------------------------------------------------------
以下是引用pywepe在2009-8-30 21:18的发言:
用一个堆栈
import java.util.*;
public class Conversion{
public static void con(int num){
List<Integer> stack=new ArrayList<Integer>();
while(num!=0){
stack.add(Integer ...
朋友能解释下吗?麻烦了。用一个堆栈
import java.util.*;
public class Conversion{
public static void con(int num){
List<Integer> stack=new ArrayList<Integer>();
while(num!=0){
stack.add(Integer ...
这知识我还没学到那去
----------------解决方案--------------------------------------------------------
对了是二进制转十进制啊。
别弄成十进制转二进制咯。
----------------解决方案--------------------------------------------------------
回复 4楼 gameohyes
其实这就是堆栈的一个简单应用例如 9
要是笔算的话 是 9/2=4余1 把这个1保留下来 这就是压栈 以此类推
直到 2/2=1余0
接着从下往上的顺序 就是1001 这就是出栈
----------------解决方案--------------------------------------------------------
LZ的标题有问题啊!
一般数据结构书上都会讲到这种压栈的方法,不过对于十进制转换成二进制这也是最低级的方法。好点的做法就是移位,每次移移位,int共移32位,long共移64位,取出取出每次移除的那一位就可以了
不过java封装的很好,Integer.toBinaryString(100);也就搞定了
toBinaryString就是采用移位做的,LZ可以去看看源码
转成16进制有toHexString
转成8进制有toOctalString
LZ可以去看看他们的源码,他们在java.long.Integer和java.lang.Long类里都有,属于static方法
[url=http://shop63425653.taobao.com/][/url]