Java преобразует большое целое число без знака в байт без знака - PullRequest
0 голосов
/ 02 ноября 2018

Как преобразовать неподписанный BigInteger в неподписанный байт, когда значение больше?

String value = "202";
BigInteger a = new BigInteger( value );
Byte b = new BigInteger( value ).byteValue() // returns -54

Как получить значение байта без знака из BigInteger?

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Может быть, вы ищете что-то вроде этого:

import java.math.*;
public class MyClass {
    public static void main(String args[]) {
        String value = "202";
        BigInteger a = new BigInteger( value );
        Byte b = new BigInteger( value ).byteValue() ;
        System.out.println(a);
        System.out.println(unsignedToBytes((byte)b));
    }

    public static int unsignedToBytes(byte b) {
    return (int)b & 0xFF;
  }
}

и вот очень хорошее объяснение: Можем ли мы сделать неподписанный байт в Java

0 голосов
/ 02 ноября 2018

вы должны разыграть "202" до int, потому что у java нет unsigned byte. Я полагаю, .intValue() поможет

...