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

Java 十进制 向二进制 十六进制 转化

2015-07-25 23:28 597 查看
public class HeiMa {

public static void main(String[] args){

int num = 26;
//	toConvertBinary(num);
//	toConverHex2(-60);
toConverHex3(-60);
}

static void toConvertBinary(int num){
int temp;
StringBuffer stringBuffer = new StringBuffer();
while(num > 0){
temp = num / 2;
stringBuffer.append(num % 2);
num = temp;
}
stringBuffer.reverse();
System.out.println(stringBuffer);
}

static void toConverHex(int num){
for(int i = 0; i < 8; i++){
int temp = num & 15;
if(temp > 9)
System.out.println((char)(temp - 10 + 'A'));
else {
System.out.println(temp);
}
num = num >> 4;
}
}

static void toConverHex2(int num){
char []character = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A','B','C','D','E' };
StringBuffer stringBuffer = new StringBuffer();
for(int i = 0; i < 8; i++){
int temp = num & 15;
stringBuffer.append(character[temp]);
System.out.println(character[temp]);
num = num >> 4;
}
System.out.println(stringBuffer);
}

static void toConverHex3(int num){
char []character = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A','B','C','D','E', 'F'};
StringBuffer stringBuffer = new StringBuffer();
while(num != 0){
int temp = num & 15;
stringBuffer.append(character[temp]);
System.out.print( "temp =" + temp );
System.out.println("..." + character[temp]);

num = num >>> 4;  //移动要用无符号的移位操作防止 传入值为负数
}

System.out.println(stringBuffer);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: