[英]convert very large binary string to long
我需要将一个大的二进制字符串(length = 251)转换为Long类型的变量,以执行一些逻辑运算符,例如(AND,OR等),但是由于字符串的长度,我认为此操作中出现错误,我认为!
我该如何解决这个问题!
我的代码:
System.out.println("value: " + v2.length()); // printing 251
Long decimalValue1 = Long.parseLong(v1, 2); //Error here appear.
if(type == "AND")
{
eq = decimalValue1 & decimalValue2;
}
else if(type == "OR")
{
eq = decimalValue1 | decimalValue2;
}
错误:对于输入字符串:“ 01000000000000000001000000000010000000010100010001000000100000011101101010010000000001101110001001111101001001000111001000001101101011111000000010000000010010111100010101010010011011011011101101111111100”
我通过实施手动比较来解决它! 它接收3个参数,第一个为二进制String(val1),第二个为二进制,以及操作类型。
码:
public String logOperators(String val1,String val2,String type)
{
String eq="";
if(val1.length() == val2.length())
{
if(type.equals("AND"))
{
for (int i = 0; i < val1.length(); i++) {
if(val1.charAt(i) == '1' && val2.charAt(i) == '1')
{
eq += "1";
}
else
{
eq += "0";
}
}
}
else if(type.equals("OR"))
{
etc..
}
}
else
{
System.out.println("Values not equl to each other !");
return "0";
}
return eq;
}
简单地..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.