public class AddNegabinary {
public static void main(String[] args) {
int[] arr = {1,1,1,1,1};
int[] arr1 = {1,0,1};
int sum = 0;
for (int i = 0; i <= arr.length - 1; i++) if (arr[i] == 1) sum += Math.pow((-2), i);
for (int i = 0; i <= arr1.length - 1; i++) if (arr1[i] == 1) sum += Math.pow((-2), i);
Stack<Integer> list=new Stack<>();
to(sum, list);
System.out.println(sum);
int [] arr3=new int[list.size()];
for (int i=0;i<=arr3.length-1;i++) arr3[i++]=list.pop();
System.out.println(Arrays.toString(arr3));
}
static void to(int sum, List<Integer> list) {
switch (sum % 2) {
case 0: list.add(0);break;
case 1: list.add(1);break;
}
sum = sum / 2;
if (sum != 0) to(sum, list);
}
}
- THE END -
最后修改:2023年5月19日

共有 0 条评论