| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2607 人关注过本帖
标题:二进制转十进制的思路------------------------>大家请进
只看楼主 加入收藏
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
结帖率:96.43%
收藏
已结贴  问题点数:20 回复次数:15 
二进制转十进制的思路------------------------>大家请进
大家能提供下二进制转十进制的思路吗?
个人点子有限麻烦大家了。
package exercises;
import java.util.Scanner;

public class Ary_Conversion {
    /**
     * 实现十进制转二进制 八进制 十六进制
     * @param args
     */
    public static void main(String[] args) {
        int i;
        Scanner input=new Scanner(System.in);
        System.out.println("\t \t 欢迎进入十进制转二进制系统\n");
        System.out.println("请输入数字:");
        int num=input.nextInt();
        int[] x=new int[100];
         for( i=0;i<99;i++){
          x[i]=num%2;
          num=num/2;
          if(num<1){
              break;
          }
     }
         for(int y=i;y>=0;y--){
                System.out.print(x[y]);
              }
        }
}
搜索更多相关主题的帖子: 二进制 十进制 思路 
2009-08-30 17:32
pywepe
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:296
专家分:483
注 册:2009-4-5
收藏
得分:10 
回复 楼主 gameohyes
用一个堆栈
import java.util.*;
public class Conversion{
   public static void con(int num){
       List<Integer> stack=new ArrayList<Integer>();     
       while(num!=0){
           stack.add(Integer.valueOf(num%2)); //压栈
           num=num/2;
       }
       for(int i=stack.size()-1;i>=0;i--){
          System.out.println(stack.get(i));
       }
   }
}
收到的鲜花
  • gameohyes2009-08-31 09:02 送鲜花  5朵   附言:热心的朋友。辛苦了

java群
62635216
欢迎加入
2009-08-30 21:18
michael_cc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:25
专家分:105
注 册:2009-8-24
收藏
得分:0 
学到新知识了。
2009-08-30 22:12
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:0 
以下是引用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 ...
朋友能解释下吗?麻烦了。
   这知识我还没学到那去

C#超级群 74862681,欢迎大家的到来!
2009-08-31 00:14
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:0 
对了是二进制转十进制啊。
    别弄成十进制转二进制咯。

C#超级群 74862681,欢迎大家的到来!
2009-08-31 00:16
pywepe
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:296
专家分:483
注 册:2009-4-5
收藏
得分:0 
回复 4楼 gameohyes
其实这就是堆栈的一个简单应用
例如 9
要是笔算的话 是 9/2=4余1 把这个1保留下来  这就是压栈 以此类推
直到 2/2=1余0
接着从下往上的顺序 就是1001  这就是出栈

java群
62635216
欢迎加入
2009-08-31 07:32
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:10 
LZ的标题有问题啊!
一般数据结构书上都会讲到这种压栈的方法,不过对于十进制转换成二进制这也是最低级的方法。好点的做法就是移位,每次移移位,int共移32位,long共移64位,取出取出每次移除的那一位就可以了
不过java封装的很好,Integer.toBinaryString(100);也就搞定了

toBinaryString就是采用移位做的,LZ可以去看看源码
转成16进制有toHexString
转成8进制有toOctalString
LZ可以去看看他们的源码,他们在java.long.Integer和java.lang.Long类里都有,属于static方法

收到的鲜花
  • gameohyes2009-08-31 09:03 送鲜花  5朵   附言:版主讲的好深奥哦 继续学习

[url=http://shop63425653./]/cvbnm/a6/1d/f4/7dd1720119cf3b1dcfb570b467b24051.jpg" border="0" />[/url]
2009-08-31 08:45
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
程序代码:
public class ToBin {
 public static String toBinString1(int i) {
  return Integer.toBinaryString(i);
 }
 public static String toBinString2(int i) {
  //int 型是4个字节,32位,也就是说左移32次,每次移1位
  StringBuilder builder = new StringBuilder();
  int count = 32;
  while(count-- > 0) {
   builder.append((i & 1) == 1 ? "1":"0");
   i = i>>1;
  }
  return builder.reverse().toString();
 }
 public static void main(String[] args) {
  System.out.println(toBinString1(100));
  System.out.println(toBinString2(100));
 }
}


[url=http://shop63425653./]/cvbnm/a6/1d/f4/7dd1720119cf3b1dcfb570b467b24051.jpg" border="0" />[/url]
2009-08-31 08:50
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:0 
感谢版主 提供了关键字  toBinaryString
感谢pywepe朋友的热心帮助 。
大家辛苦了

C#超级群 74862681,欢迎大家的到来!
2009-08-31 09:01
pywepe
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:296
专家分:483
注 册:2009-4-5
收藏
得分:0 
回复 7楼 freish
老大不愧是老大

java群
62635216
欢迎加入
2009-08-31 17:52
快速回复:二进制转十进制的思路------------------------>大家请进
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018203 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved