您的位置:首页 > 编程语言 > Java开发

JAVA 程序 对给定整数60,获取其16进制表现形式

2015-08-03 17:55 453 查看
/*
*Copyright (c) 2014, 烟台大学计算机学院
*All rights reserved.
*文件名称:main.cpp
*作者:张旺华
*完成日期: 2015 年 8 月 3 日
*版本号:v1.0
*
*问题描述:对给定整数60,获取其16进制表现形式
*什么是16进制:数据的一种表象形式,
*原理:将二进制只的4位为一个16进制单位。
*咋获取每四位呢? 其实就是获取四位中的1 可以通过&运算的方式完成
*如何获取下次啊四位呢? 可以通过无符号右移4位
*/
//代码:
package zhuan;

public class chuan_16 {
public static void main(String[] args){
int hum=60;
String str_hex=toHex(hum);
System.out.println(str_hex);
}
public static String toHex(int num){
//定义一个容器。存储的是字符,长度为8.一个整数最多8个16进制位。
char []chs=new char[8];
//
for(int i=0;i<8;i++)
{
//对变量值得4位进行提取获得16进制位值,并且赋值给变量temp
int temp=num&15;
if(temp>9)
//对提取的值进行存储,如大于9,转换为字母
chs[7-i]=(char)(temp-10+'A');
else
//对提取的值进行存储,如不小于9,为数字字符;
chs[7-i]=(char)(temp+'0');
num=num>>>4;//变量值进行右移4位;
}
/*int i=0;
for(;i<chs.length;i++){
if(chs[i]==0)
continue;
else
break;
}
System.out.print("0x");
for(;i<chs.length;i++){
System.out.print(chs[i]);
}

*/
return "0x"+toString(chs);

}
//定义一个功能,将字符数组转成字符串
public static String toString(char []arr){
String temp="";
for(int i=0;i<arr.length;i++){
temp+=arr[i];
}
return temp;
}
}


运行结果:

 



知识点运用及学习心得:

有了c++的学习,在学习java比较轻松,但在这个程序中也是自己对自己的盲区扫盲吧,以前对& | <<  >>运算符理解的不太深,通过这个程序让我更深一步的理解了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: