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

如何手动实现整型数值60的二进制到十六进制的转换

时间:2018-06-29 19:56:56      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:its   class   数据   ring   out   IV   print   基本数据类型   while   

		int num=66;
		System.out.println(Integer.toBinaryString(num));
		System.out.println(Integer.toHexString(num));
		
		int bits=0;
		int temp=num;
		while(temp>0){
			temp/=16;
			bits++;
			System.out.println(temp);
		}		
		temp = num;
		String[] result= new String[bits];
		for(int i=0;i<bits;i++){
			
			result[i] = ((temp%16)>9?(char)(temp%16-10+‘A‘)+"":temp%16+"");
			temp/=16;			
		}
		for(int i=0;i<bits;i++){
			System.out.print(result[bits-1-i]);
		}

 其实是10进制到16进制的转换

1.首先确定转换成16进制后有几位

2.根据位数创建String数组

3.算出每一位对应的16进制表达,存入数组

4.一次输出数组元素


result[i] = ((temp%16)>9?(char)(temp%16-10+‘A‘)+"":temp%16+"");

 核心是这行代码,用到知识点:

>三目运算符

>基本数据类型的自动转换和强制转换char->int,int->char

>String类型与基本数据类型用“+”连接时可以自动转换成String类

>num/16等价于num>>>4

>num%16等价于num&15

如何手动实现整型数值60的二进制到十六进制的转换

标签:its   class   数据   ring   out   IV   print   基本数据类型   while   

原文地址:https://www.cnblogs.com/annofyf/p/9245073.html

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