我想通过欧几里德方法计算两个数字的GCD,并注意到奇怪的行为。尽管我将该数字的值传递给函数,但数字通过函数修改了位数较少(通常小于64)的数字。任何人都可以澄清,如果这是我的错误或预期的行为?你可以在这里查看操场上的代码:Golang playground example 我认为预期的行为是不应该通过将它们传递给我的函数来改变值。感谢您的帮助,在搜索的最后一天我找不到任何其他类似事件。
我试图包含64位,使用此代码十六进制这个二进制字符串转换: String mm = "1000010111101000000100110101010000001111000010101011010000000101";
String v = new BigInteger(mm, 2).toString(16);
v=String.format("%64x", v);
,但它给了我这样的例外
考虑下面的代码: int i = 1;
System.out.println("1 binary: " + Long.toBinaryString(i));
long ri = Long.reverse(i);
System.out.println("1 reverse bit decimal: " + ri);
System.out.println("1 reverse bit bina