1. 程式人生 > 其它 >二進位制求和_兩個字串表示二進位制的數位

二進位制求和_兩個字串表示二進位制的數位

現獲取道兩個字串長度最長的n,將char型別轉化為int型別,設定car來接收進位,然後迴圈之後,再判斷car是否為1,如果為1,用StringBuilde型別來接收,最後在反轉一下,呼叫toString方法返回。

 

package com.lhb.offer;

/**
 * @author lhb
 * @date 2022/3/16
 */
public class Offer_67 {
    static String sumTwo(String a, String b) {
        int n = Math.max(a.length(), b.length());
        
int ans = 0; int car = 0; StringBuilder sb = new StringBuilder(); for (int i = 0; i < n; i++) { int va = i < a.length() ? (a.charAt(a.length() - i - 1) - '0') : 0; int vb = i < b.length() ? (b.charAt(b.length() - i - 1) - '0') : 0; car = car + va + vb; sb.append(car
% 2); car = car / 2; } if (car == 1) { sb.append('1'); } return sb.reverse().toString(); } public static void main(String[] args) { String a = "1111"; String b = "001"; System.out.println(sumTwo(a, b)); } }