gpt4 book ai didi

java - 逆乘法

转载 作者:行者123 更新时间:2023-11-29 03:09:17 25 4
gpt4 key购买 nike

我有以下号码;让我们称它为第一

-1757151608

然后我有第二个号码,我们称它为未知

94507795

最后,我有了产品,我们称它为二号

-1000

如果我将表格中的前两个数字相乘,我得到的答案是 -1000。问题是,我可以使用第一和第二,但我需要从中得到未知数。

我试过使用 BigInteger 类和它的一些函数,但没有成功。

提前致谢。

最佳答案

这个乘法是不可能逆转的。

首先,让我们取第一个数的二进制补码。

3904635256 = 2147483648 - -1757151608

接下来,我们将第二个数字相乘

369018468323820520 = 3904635256 * 94507795

现在,这是棘手的部分。我们将乘积转换为十六进制,并删除大于 32 位整数的数字。

51F0457800003E8 (hex) = 369018468323820520 (decimal)
800003E8 = 51F0457800003E8 moved to a 32 bit signed integer

现在,我们将十六进制值转换回十进制

2147484648 (dec) = 800003E8 (hex)

最后,我们取小数的补码

-1000 = 2147483648 - 2147484648

由于我们丢弃了 51F0457(十六进制),所以我们无法取回它。这个操作的逆向是不可能的。

关于java - 逆乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30335402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com