簡體   English   中英

將非常大的二進制字符串轉換為long

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM