使用包装类
计算 2 的幂的模数除法
原文:https://www . geesforgeks . org/compute-module-division-power-2-number-use-wrapper-class/
先决条件: 用 2 的幂计算模数除法
如你所知,为了得到 n 模 2 k ,我们只需要在 n 的二进制表示中返回 k 位(从 LSB 开始),在 Java 中,你可以使用 Wrapper 类 toBinaryString() 方法得到一个数字的二进制字符串表示,并从(str.length()-k)开始获取子字符串。然后通过使用integer . parsent(),可以将这个二进制子串转换成余数。下面是演示相同的 Java 程序。
// Java program to Compute modulus
// division by a power-of-2-number
class Test
{
// Driver method
public static void main(String[] args)
{
int num = 15;
int two_power1 = 1;
int two_power2 = 2;
int two_power3 = 3;
String binary = Integer.toBinaryString(num);
int len = binary.length();
String rem1 = binary.substring(len-two_power1);
String rem2 = binary.substring(len-two_power2);
String rem3 = binary.substring(len-two_power3);
int reme1 = Integer.parseInt(rem1, 2);
int reme2 = Integer.parseInt(rem2, 2);
int reme3 = Integer.parseInt(rem3, 2);
System.out.println(num + "%" + "2^(" + two_power1 + ") = " + reme1);
System.out.println(num + "%" + "2^(" + two_power2 + ") = " + reme2);
System.out.println(num + "%" + "2^(" + two_power3 + ") = " + reme3);
}
}
输出:
15%2^(1) = 1
15%2^(2) = 3
15%2^(3) = 7
本文由高拉夫·米格拉尼供稿。如果你喜欢 GeeksforGeeks 并想投稿,你也可以使用contribute.geeksforgeeks.org写一篇文章或者把你的文章邮寄到 contribute@geeksforgeeks.org。看到你的文章出现在极客博客主页上,帮助其他极客。
如果你发现任何不正确的地方,或者你想分享更多关于上面讨论的话题的信息,请写评论。
版权属于:月萌API www.moonapi.com,转载请注明出处