Java中有没有模2运算的方法
答案:2 悬赏:60 手机版
解决时间 2021-11-18 21:49
- 提问者网友:皆是孤独
- 2021-11-18 00:09
Java中有没有模2运算的方法
最佳答案
- 五星知识达人网友:有你哪都是故乡
- 2021-11-18 00:25
在进行CRC算法分析中由于要用到多项式除法,取其余数为索要得到的结果,如M%P=R(R为A模B的余数,当然A的长度要大于B)
到底该如何实现该方法啊
问题补充:
我写了个这样的程序,只要运算得到最后的r位的值
编译的时候可以同过,运行的时候会抛出如下异常
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 9
at aa.main(aa.java:59)
该如何解决啊
import java.util.*;
public class aa {
public static void main(String[] args)
{String n="101001";
String k="1101";
String r="0";
boolean bool = false;
boolean bools = false;
char truel = '1';
char falsel = '0';
int y=(n.length()+k.length()-1);
int x=k.length();
for(int i=2;i { r=r+"0";}
String s=n+r;
System.out.println(s);
for(int i=4;i { r=r+"0";}
String l=k+r;
System.out.println(l);
boolean [] e = new boolean[y];
boolean [] c = new boolean[y] ;
boolean [] d = new boolean[y] ;
for(int i=0;i {
if(s.charAt(i) == truel)
bool = true;
else bool = false;
c[i] = bool;
if(c[i] == true)
System.out.print("1");
else
System.out.print("0");
}
System.out.println();
for(int i=0;i {
if(l.charAt(i) == truel)
bool = true;
else bool = false;
d[i]=bool;
if(d[i] == true)
System.out.print("1");
else
System.out.print("0");
}
System.out.println();
for(int j=0;j {if(d[j] ==true)
{for(int i=0;i { e[i]=(c[i]^d[i]);
c[i]=e[i];
}
for(int a=x+j-1;a>j;a--)
{d[a+1]=d[a];}
}
else{
for(int a=x+j-1;a>j;a--)
{d[a+1]=d[a];}
}
}
for(int i=x;i { if(c[i] == true)
System.out.print("1");
else
System.out.print("0");
}
System.out.println();
}
}
到底该如何实现该方法啊
问题补充:
我写了个这样的程序,只要运算得到最后的r位的值
编译的时候可以同过,运行的时候会抛出如下异常
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 9
at aa.main(aa.java:59)
该如何解决啊
import java.util.*;
public class aa {
public static void main(String[] args)
{String n="101001";
String k="1101";
String r="0";
boolean bool = false;
boolean bools = false;
char truel = '1';
char falsel = '0';
int y=(n.length()+k.length()-1);
int x=k.length();
for(int i=2;i
String s=n+r;
System.out.println(s);
for(int i=4;i
String l=k+r;
System.out.println(l);
boolean [] e = new boolean[y];
boolean [] c = new boolean[y] ;
boolean [] d = new boolean[y] ;
for(int i=0;i
if(s.charAt(i) == truel)
bool = true;
else bool = false;
c[i] = bool;
if(c[i] == true)
System.out.print("1");
else
System.out.print("0");
}
System.out.println();
for(int i=0;i
if(l.charAt(i) == truel)
bool = true;
else bool = false;
d[i]=bool;
if(d[i] == true)
System.out.print("1");
else
System.out.print("0");
}
System.out.println();
for(int j=0;j
{for(int i=0;i
c[i]=e[i];
}
for(int a=x+j-1;a>j;a--)
{d[a+1]=d[a];}
}
else{
for(int a=x+j-1;a>j;a--)
{d[a+1]=d[a];}
}
}
for(int i=x;i
System.out.print("1");
else
System.out.print("0");
}
System.out.println();
}
}
全部回答
- 1楼网友:三千妖杀
- 2021-11-18 00:36
嗨
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯