Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import static java.lang.System.*;
- import java.util.Scanner;
- import java.lang.Math;
- class Main5{
- public static int[] convertToBinary(int x){
- int y [] = {0,0,0,0,0,0,0,0};
- if(x >= 128){
- x = x - 128;
- y[0] = 1;
- }else{
- y[0] = 0;
- }
- if(x >= 64){
- x = x - 64;
- y[1] = 1;
- }else{
- y[1] = 0;
- }
- if(x >= 32){
- x = x - 32;
- y[2] = 1;
- }else{
- y[2] = 0;
- }
- if(x >= 16){
- x = x - 16;
- y[3] = 1;
- }else{
- y[3] = 0;
- }
- if(x >= 8){
- x = x - 8;
- y[4] = 1;
- }else{
- y[4] = 0;
- }
- if(x >= 4){
- x = x - 4;
- y[5] = 1;
- }else{
- y[5] = 0;
- }
- if(x >= 2){
- x = x - 2;
- y[6] = 1;
- }else{
- y[6] = 0;
- }
- if(x >= 1){
- x = x - 1;
- y[7] = 1;
- }else{
- y[7] = 0;
- }
- return y;
- }
- public static boolean didOverflow = false;
- public static int[] addBin(int[] arr1, int[] arr2)
- {
- int[] arr3 = new int[8];
- if(arr1[7] + arr2[7] == 2) {
- arr3[7] = 0;
- arr3[6] = 1;
- }else{
- arr3[7] = arr1[7] + arr2[7];
- }if(arr1[6] + arr2[6] + arr3[6] == 3){
- arr3[6] = 0;
- arr3[5] = 0;
- arr3[4] = 1;
- }else if(arr1[6] + arr2[6] + arr3[6] == 2){
- arr3[6] = 0;
- arr3[5] = 1;
- }else{
- arr3[6] = arr1[6] + arr2[6];
- }if(arr1[5] + arr2[5] + arr3[5] == 4){
- arr3[5] = 0;
- arr3[4] = 0;
- arr3[3] = 0;
- arr3[2] = 1;
- }else if(arr1[5] + arr2[5] + arr3[5] == 3){
- arr3[5] = 0;
- arr3[4] = 0;
- arr3[3] = 1;
- }else if(arr1[5] + arr2[5] + arr3[5] == 2){
- arr3[5] = 0;
- arr3[4] = 1;
- }else{
- arr3[5] = arr1[5] + arr2[5];
- }if(arr1[4] + arr2[4] + arr3[4] == 5){
- arr3[4] = 0;
- arr3[3] = 0;
- arr3[2] = 0;
- arr3[1] = 0;
- arr3[0] = 1;
- System.out.println("set value 3 to" + arr3[3]);
- }else if(arr1[4] + arr2[4] + arr3[4] == 4){
- arr3[4] = 0;
- arr3[3] = 0;
- arr3[2] = 0;
- arr3[1] = 1;
- System.out.println("set value 3 to" + arr3[3]);
- }else if(arr1[4] + arr2[4] + arr3[4] == 3){
- arr3[4] = 0;
- arr3[3] = 0;
- arr3[2] = 1;
- System.out.println("set value 3 to" + arr3[3]);
- }else if(arr1[4] + arr2[4] + arr3[4] == 2){
- arr3[4] = 0;
- arr3[3] = 1;
- System.out.println("set value 3 to" + arr3[3]);
- }else{
- arr3[4] = arr1[4] + arr2[4];
- System.out.println("set value 3 to" + arr3[3]);
- }if(arr1[3] + arr2[3] + arr3[3] == 6){
- arr3[3] = 0;
- arr3[2] = 0;
- arr3[1] = 0;
- arr3[0] = 0;
- Main5.didOverflow = true;
- }else if(arr1[3] + arr2[3] + arr3[3] == 5){
- arr3[3] = 0;
- arr3[2] = 0;
- arr3[1] = 0;
- arr3[0] = 0;
- Main5.didOverflow = true;
- }else if(arr1[3] + arr2[3] + arr3[3] == 4){
- arr3[3] = 0;
- arr3[2] = 0;
- arr3[1] = 0;
- arr3[0] = 1;
- }else if(arr1[3] + arr2[3] + arr3[3] == 3){
- arr3[3] = 0;
- arr3[2] = 0;
- arr3[1] = 1;
- }else if(arr1[3] + arr2[3] + arr3[3] == 2){
- arr3[3] = 0;
- arr3[2] = 2;
- }else{
- arr3[3] = arr1[3] + arr2[3];
- }if(arr1[2] + arr2[2] + arr3[2] == 7){
- arr3[2] = 0;
- arr3[1] = 0;
- arr3[0] = 0;
- Main5.didOverflow = true;
- }if(arr1[2] + arr2[2] + arr3[2] == 6){
- arr3[2] = 0;
- arr3[1] = 0;
- arr3[0] = 0;
- Main5.didOverflow = true;
- }if(arr1[2] + arr2[2] + arr3[2] == 5){
- arr3[2] = 0;
- arr3[1] = 0;
- arr3[0] = 0;
- Main5.didOverflow = true;
- }if(arr1[2] + arr2[2] + arr3[2] == 4){
- arr3[2] = 0;
- arr3[1] = 0;
- arr3[0] = 0;
- Main5.didOverflow = true;
- }if(arr1[2] + arr2[2] + arr3[2] == 3){
- arr3[2] = 0;
- arr3[1] = 0;
- arr3[0] = 1;
- }if(arr1[2] + arr2[2] + arr3[2] == 2){
- arr3[2] = 0;
- arr3[1] = 1;
- }else{
- arr3[2] = arr1[2] + arr2[2];
- }if(arr1[1] + arr2[1] + arr3[1] == 8){
- arr3[1] = 0;
- arr3[0] = 0;
- Main5.didOverflow = true;
- }if(arr1[1] + arr2[1] + arr3[1] == 7){
- arr3[1] = 0;
- arr3[0] = 0;
- Main5.didOverflow = true;
- }if(arr1[1] + arr2[1] + arr3[1] == 6){
- arr3[1] = 0;
- arr3[0] = 0;
- Main5.didOverflow = true;
- }if(arr1[1] + arr2[1] + arr3[1] == 5){
- arr3[1] = 0;
- arr3[0] = 0;
- Main5.didOverflow = true;
- }if(arr1[1] + arr2[1] + arr3[1] == 4){
- arr3[1] = 0;
- arr3[0] = 0;
- Main5.didOverflow = true;
- }if(arr1[1] + arr2[1] + arr3[1] == 3){
- arr3[1] = 0;
- arr3[0] = 0;
- Main5.didOverflow = true;
- }if(arr1[1] + arr2[1] + arr3[1] == 2){
- arr3[1] = 0;
- arr3[0] = 1;
- }else{
- arr3[1] = arr1[1] + arr2[1];
- }if(arr1[0] + arr2[0] + arr3[0] == 9){
- arr3[0] = 0;
- Main5.didOverflow = true;
- }if(arr1[0] + arr2[0] + arr3[0] == 8){
- arr3[0] = 0;
- Main5.didOverflow = true;
- }if(arr1[0] + arr2[0] + arr3[0] == 7){
- arr3[0] = 0;
- Main5.didOverflow = true;
- }if(arr1[0] + arr2[0] + arr3[0] == 6){
- arr3[0] = 0;
- Main5.didOverflow = true;
- }if(arr1[0] + arr2[0] + arr3[0] == 5){
- arr3[0] = 0;
- Main5.didOverflow = true;
- }if(arr1[0] + arr2[0] + arr3[0] == 4){
- arr3[0] = 0;
- Main5.didOverflow = true;
- }if(arr1[0] + arr2[0] + arr3[0] == 3){
- arr3[0] = 0;
- Main5.didOverflow = true;
- }if(arr1[0] + arr2[0] + arr3[0] == 2){
- arr3[0] = 0;
- Main5.didOverflow = true;
- }else{
- arr3[1] = arr1[1] + arr2[1];
- }
- return arr3;
- }
- public static void printBin(int[] addedArray){
- System.out.println("\n\nAdded:");
- if(Main5.didOverflow){
- System.out.println("Error: overflow");
- }
- for(int i = 0; i < 8;i++){
- System.out.print(addedArray[i]+ " ");
- }
- }
- public static void main(String[] args) throws IOException {
- Scanner scan = new Scanner(System.in);
- System.out.println("Enter a base ten number between 0 and 255, inclusive.");
- int c = scan.nextInt();
- System.out.println("Enter a base ten number between 0 and 255, inclusive.");
- int d = scan.nextInt();
- int[] arr1 = new int[8];
- int[] arr2 = new int[8];
- int[] arr3 = new int[8];
- arr1 = convertToBinary(c);
- arr2 = convertToBinary(d);
- System.out.println("First binary number:");
- for(int i = 0; i < 8;i++){
- System.out.print(arr1[i]+ " ");
- }
- System.out.println("\n\nSecond binary number:");
- for(int i = 0; i < 8;i++){
- System.out.print(arr2[i]+ " ");
- }
- arr3 = addBin(arr1,arr2);
- printBin(arr3);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement