Java examples for java.math:BigInteger
BigInteger to Byte Array Unsigned
/**/*from w w w. j av a 2 s . c o m*/ * Copyright (c) 2013, Will Szumski * * This file is part of formicidae. * * formicidae is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * formicidae is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with formicidae. If not, see <http://www.gnu.org/licenses/>. */ //package com.java2s; import java.math.BigInteger; import java.util.Arrays; public class Main { public static void main(String[] argv) throws Exception { BigInteger bi = new BigInteger("1234"); System.out.println(java.util.Arrays .toString(toByteArrayUnsigned(bi))); } public static byte[] toByteArrayUnsigned(BigInteger bi) { byte[] extractedBytes = bi.toByteArray(); int skipped = 0; boolean skip = true; for (byte b : extractedBytes) { boolean signByte = b == (byte) 0x00; if (skip && signByte) { skipped++; continue; } else if (skip) { skip = false; } } extractedBytes = Arrays.copyOfRange(extractedBytes, skipped, extractedBytes.length); return extractedBytes; } }