首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

十进制转换成十六进制,该怎么解决

2013-10-05 
十进制转换成十六进制public class DtoH {public static void main(String[] args) {toHex(60)}public st

十进制转换成十六进制


public class DtoH {
    public static void main(String[] args) {
        toHex(60);
    }
    public static void toHex(int num) {
        for(int x=0; x<8; x++) {
            int temp = num & 15;
            if(temp>9)
                System.out.println((char)(temp-10+'A')); //????
            else
                System.out.println(temp);
            num = num >>> 4;
        }
    }
}

以上是一个十进制转换十六进制的小程序,把60这个十进制数转换成十六进制。
其中
temp-10+'A'
这段代码是什么意思呢?
我知道输出是十六进制的'C',但是想问下这个代码涉及到什么知识点?
难道10在十六进制是‘A’,2+'A'就等于'C'了?
[解决办法]
将10、11、12、13、14、15对应输出成A、B、C、D、E、F
[解决办法]
char t = 2 + 'A';

t = 'C';

2 + 'A' = 67
[解决办法]
不同数据类型的数据参与运算,数据类型要强制转换,转换的方向是

(unsigned)char,(unsigned)short->int->unsigned->long->unsigned long->float->double

热点排行