解析せずに 2 つの 2 進数 (基数 2 のみ) を減算するバイナリ計算機を作成しようとしています。
上の数字にゼロがあり、下の数字に1がある状況で誰かが私を助けることができますか?私はそのコードを書くことができないようです.
for (int i = ss.length()-1; i > -1; i--)
{
if(s.charAt(i)=='0' && ss.charAt(i)=='0') sb.append("0");
else if (s.charAt(i)=='1' && ss.charAt(i)=='0') sb.append("1");
else if (s.charAt(i)=='1' && ss.charAt(i)=='1') sb.append("0");
else
{
sb.append("1");
doit(s,i+1,sb);
}
}
for (int i = s.length() - ss.length(); i >-1; i--)
{
sb.append(s.charAt(i));
}
ArrayList<Character> res = new ArrayList<>();
for (int i = sb.length()-1; i > -1; i--)
{
res.add(sb.charAt(i));
}
System.out.println(res);
}
public static void doit(StringBuilder s, int i, StringBuilder sb)
{
for (int j = i; j > -1; j--)
{
if(s.charAt(j)=='0')
{
s.setCharAt(j, '1');
}
else
{
s.setCharAt(j, '0');
break;
}
}
}