import java.lang.String; import java.lang.Long; import java.math.BigInteger; // 1234567890(decimal) to 100100100101100000001011010010 to 1001000000000000000000000000010000000101101001000000001100101 to 1200000080B48065(hex) public class NfcRawr { public static void main(String[] argv) { if (argv.length > 0) { String s = argv[0]; BigInteger bi = new BigInteger(s, 16); long input = bi.longValue(); long nfc_data = 0; nfc_data |= (input & 0xFF00000000000000L) >> 30 << 0; nfc_data |= (input & 0x00FF000000000000L) >> 14 << 0; nfc_data |= (input & 0x00003F0000000000L) >> 0 << 2; nfc_data |= (input & 0x00000000FF000000L) >> 30 << 0; nfc_data |= (input & 0x0000000000FF0000L) >> 14 << 0; nfc_data |= (input & 0x000000000000FF00L) >> 0 << 2; nfc_data |= (input & 0x00000000000000FFL) >> 0 << 18; //System.out.format("%016x\n", nfc_data); System.out.println(nfc_data); System.out.println(input); System.out.println(bi); //String nfc_datastring =nfc_data.toString(); BigInteger bi2 = new BigInteger(String.valueOf(nfc_data)); System.out.println(bi2); } else { System.out.println("usage: decimal"); } } }