合并两个字节为int

时间:2018-09-22 14:53:41

标签: java android

我有两个字节,byte b1byte b2

b1的十进制值为44。

b2的十进制值为1。

我想将字节合并在一起(但不求和),以创建类似441的数字。

我该如何实现?

3 个答案:

答案 0 :(得分:3)

数学方法

double digitCount = Math.floor(Math.log10(b2) + 1.0);
int result = b1 * (int) Math.pow(10, digitCount) + b2;

迭代方法(从右到左每次切一位)

int result = 0;
int digit, multiplier = 1;
int base = b2;
while (base > 0) {
    digit = base % 10;
    base /= 10;
    result += digit * multiplier;
    multiplier *= 10;
}

base = b1;
while (base > 0) {
    digit = base % 10;
    base /= 10;
    result += digit * multiplier;
    multiplier *= 10;
}

简单明了的方法(连接为字符串和解析)

int result = Integer.parseInt("" + b1 + b2);

答案 1 :(得分:1)

您可以将它们转换为字符串,然后连接字符串,然后将其解析为int:

Integer.parseInt(Byte.toString(b1) + Byte.toString(b2))

答案 2 :(得分:0)

科特琳:

val b1: Byte = 44.toByte()
val b2: Byte = 1.toByte()
print("$b1$b2")

Java

byte b1 = (byte)44;
byte b2 = (byte)1;
System.out.print(b1+""+b2);