package com.zeng;
import java.util.Scanner;
/**
* 16進制轉化爲二進制
* 二進制在反轉後再得到16進制
* 如1111 二進制0001000100010001,反轉1000100010001000
* 得到16進制 8888
*/
public class Main04 {
/**
* @param args
*/
public static void main(String[] args) {
try{
Scanner in=new Scanner(System.in);
String str=in.next();
System.out.println(get(str));
}catch(Exception e){
e.printStackTrace();
}
}
public static String get(String str){
String ss="0123456789ABCDEF";
char[] ch=str.toCharArray();
for(int i=0;i<ch.length;i++){
if(!ss.contains(String.valueOf(ch[i]))){
return "輸入的16進制是錯誤的";
}
}
int x=Integer.valueOf(str,16);//16進制轉化爲10進制
String y=Integer.toBinaryString(x);//將x轉化爲二進制
StringBuffer sb=new StringBuffer();
if(y.length()%4!=0){
//把0補齊
for(int i=0;i<4-y.length()%4;i++){
sb.append("0");
}
}
sb.append(y);
sb.reverse();//對二進制進行反轉
int z=Integer.valueOf(sb.toString(),2);//2進制轉化爲10進制
String result=Integer.toHexString(z);
return result;
}
}