51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1888|回复: 1
打印 上一主题 下一主题

[讨论] 我是初学者 自己乱写了个整数进制转换 请教各位有些什么错误或者不足

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-2-22 16:52:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
package Tracy;

public class DecimalToOther {
       
        private DecimalToOther() {
                //
        }
       
        public static String getBin(int i) {
                StringBuffer s = new StringBuffer("");
                while(i != 0) {
                        if (i % 2 == 0)
                                s.insert(0, "0");
                        else
                                s.insert(0, "1");
                        i = i / 2;
                }
                String result = s.toString();
                return result;
        }
       
        public static String getHex(int i) {
                StringBuffer s = new StringBuffer("");
                while(i != 0) {
                        switch(i % 16) {
                                case 0 : s.insert(0, 0);break;
                                case 1 : s.insert(0, 1);break;
                                case 2 : s.insert(0, 2);break;
                                case 3 : s.insert(0, 3);break;
                                case 4 : s.insert(0, 4);break;
                                case 5 : s.insert(0, 5);break;
                                case 6 : s.insert(0, 6);break;
                                case 7 : s.insert(0, 7);break;
                                case 8 : s.insert(0, 8);break;
                                case 9 : s.insert(0, 9);break;
                                case 10 : s.insert(0, "A");break;
                                case 11 : s.insert(0, "B");break;
                                case 12 : s.insert(0, "C");break;
                                case 13 : s.insert(0, "D");break;
                                case 14 : s.insert(0, "E");break;
                                case 15 : s.insert(0, "F");break;
                        }
                        i = i / 16;
                }
                int size = s.length();
                s.insert(0, "0x");
                for (int k = 0;k < 8 - size;k++)
                        s.insert(2, 0);
                String result = s.toString();
                return result;
        }
       
        public static String getOct(int i) {
                StringBuffer s = new StringBuffer("");
                while(i != 0) {
                        switch(i % 8) {
                                case 0 : s.insert(0, 0);break;
                                case 1 : s.insert(0, 1);break;
                                case 2 : s.insert(0, 2);break;
                                case 3 : s.insert(0, 3);break;
                                case 4 : s.insert(0, 4);break;
                                case 5 : s.insert(0, 5);break;
                                case 6 : s.insert(0, 6);break;
                                case 7 : s.insert(0, 7);break;
                        }
                        i = i / 8;
                }
                s.insert(0, "0");
                String result = s.toString();
                return result;
        }
}

计算倒是正确 。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2013-2-22 19:34:39 | 只看该作者
问题倒是没什么问题,不过java的基础库就有这些转换的静态方法。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-27 04:33 , Processed in 0.063238 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表