码迷,mamicode.com
首页 > 其他好文 > 详细

自己实现10进制转2进制和16进制

时间:2014-09-02 13:58:54      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   ar   div   log   sp   c   

 1 public class Test {
 2  
 3     public static void main(String[] args) {
 4         System.out.println(toBinary(9));
 5         System.out.println(toHex(559));
 6         System.out.println(Integer.toBinaryString(9));
 7         System.out.println(Integer.toHexString(559));
 8       /*1001
 9         22F
10         1001
11         22f*/
12     }
13      
14     public static String toBinary(int n){
15         StringBuilder temp = new StringBuilder();
16         while(n/2 >=1 || n%2 == 1){//除2取余, (|| n%2 == 1) 在次为了补上最后一个0或者1
17             temp.append(n%2);
18             n = n/2;
19         }
20         return temp.reverse().toString();
21     }
22     /**
23      10进制转16进制:
24         将给定的十进制整数除以基数16,余数便是等值的16进制的最低位。
25         将上一步的商再除以基数16,余数便是等值的16进制数的次低位。
26         重复上一步骤,直到最后所得的商等于0为止。各次除得的余数,便是16进制各位的数,最后一次的余数是最高位
27      */
28     public static String toHex(int n){
29         /*思路:除16取余*/       
30         StringBuilder temp = new StringBuilder();
31         while(n/16 >= 1){
32             int aa = n/16;
33             int bb = n%16;
34             //0123456789 10 11 12 13 14 15
35             //0123456789 A  B  C  D  E  F
36             String str = "";
37             if(bb == 10){
38                 str = "A";
39             }else if(bb == 11){
40                 str = "B";
41             }else if(bb == 12){
42                 str = "C";
43             }else if(bb == 13){
44                 str = "D";
45             }else if(bb == 14){
46                 str = "E";
47             }else if(bb == 15){
48                 str = "F";
49             }else{
50                 str = bb+"";
51             }
52             temp.append(str);
53             n = aa;
54             if(n/16 < 1){//补上最后一位
55                 temp.append(n);
56             }
57         }
58         return temp.reverse().toString();
59     }
60 }

 

自己实现10进制转2进制和16进制

标签:style   blog   color   os   ar   div   log   sp   c   

原文地址:http://www.cnblogs.com/pengw/p/3951178.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!