第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

字符串的二進(jìn)制加法

字符串的二進(jìn)制加法

月關(guān)寶盒 2023-07-13 14:20:55
我需要組合一個字符串?dāng)?shù)組,如下所示(因此結(jié)果字符串中的每個字符都是輸入字符串中字符的按位 & )String a = "10110001"String b = "01101101"String c = "10101011"String result = "00100001"我想出的解決方案:long resultLong = 0;for( String a : inputs ){    resultLong = resultLong & Long.parseLong( a ,2);}String result = Long.toBinaryString( resultLong );輸入字符串中的字符數(shù)可能非常長,并且上述解決方案不起作用 (NumberFormatException) 。我不知道如何實現(xiàn)這一點(diǎn),最干凈的方法是什么?
查看完整描述

2 回答

?
qq_笑_17

TA貢獻(xiàn)1818條經(jīng)驗 獲得超7個贊

如果 Long 不足以滿足您的用例,那么您可以使用BigInteger


BigInteger(String val, int radix);

它以字符串和基數(shù)作為參數(shù)。


BigInteger result = new BigInteger(inputs[0], 2);


for (int i = 1; i < inputs.length; i++) {

    result = result.and(new BigInteger(inputs[i], 2));

}


String resultStr = result.toString(2);


查看完整回答
反對 回復(fù) 2023-07-13
?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗 獲得超5個贊

這是你的算法。這適用于任意數(shù)量的 ,Strings前提是所有Strings 的長度相同:


public static void main(String[] args) {

    String a = "10110001";

    String b = "01101101";

    String c = "10101011";


    String arr[] = new String[]{a, b, c};


    String finalString = "";

    for (int i = 0; i < arr[0].length(); i++) {

        int temp = Integer.parseInt("" + arr[0].charAt(i));

        for (int j = 1; j < arr.length; j++) {

            temp = temp & Integer.parseInt("" + arr[j].charAt(i));

        }

        finalString += temp;

    }

    System.out.println(finalString);

}

輸出/輸出


00100001


查看完整回答
反對 回復(fù) 2023-07-13
  • 2 回答
  • 0 關(guān)注
  • 155 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號