Advertisement
Guest User

Untitled

a guest
Feb 5th, 2016
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.35 KB | None | 0 0
  1. import java.io.*;
  2. import static java.lang.System.*;
  3. import java.util.Scanner;
  4. import java.lang.Math;
  5.  
  6. class Main5{
  7. public static int[] convertToBinary(int x){
  8. int y [] = {0,0,0,0,0,0,0,0};
  9. if(x >= 128){
  10. x = x - 128;
  11. y[0] = 1;
  12. }else{
  13. y[0] = 0;
  14. }
  15. if(x >= 64){
  16. x = x - 64;
  17. y[1] = 1;
  18. }else{
  19. y[1] = 0;
  20. }
  21. if(x >= 32){
  22. x = x - 32;
  23. y[2] = 1;
  24. }else{
  25. y[2] = 0;
  26. }
  27. if(x >= 16){
  28. x = x - 16;
  29. y[3] = 1;
  30. }else{
  31. y[3] = 0;
  32. }
  33. if(x >= 8){
  34. x = x - 8;
  35. y[4] = 1;
  36. }else{
  37. y[4] = 0;
  38. }
  39. if(x >= 4){
  40. x = x - 4;
  41. y[5] = 1;
  42. }else{
  43. y[5] = 0;
  44. }
  45. if(x >= 2){
  46. x = x - 2;
  47. y[6] = 1;
  48. }else{
  49. y[6] = 0;
  50. }
  51. if(x >= 1){
  52. x = x - 1;
  53. y[7] = 1;
  54. }else{
  55. y[7] = 0;
  56. }
  57. return y;
  58. }
  59. public static boolean didOverflow = false;
  60.  
  61. public static int[] addBin(int[] arr1, int[] arr2)
  62. {
  63. int[] arr3 = new int[8];
  64. if(arr1[7] + arr2[7] == 2) {
  65. arr3[7] = 0;
  66. arr3[6] = 1;
  67. }else{
  68. arr3[7] = arr1[7] + arr2[7];
  69.  
  70. }if(arr1[6] + arr2[6] + arr3[6] == 3){
  71. arr3[6] = 0;
  72. arr3[5] = 0;
  73. arr3[4] = 1;
  74. }else if(arr1[6] + arr2[6] + arr3[6] == 2){
  75. arr3[6] = 0;
  76. arr3[5] = 1;
  77. }else{
  78. arr3[6] = arr1[6] + arr2[6];
  79.  
  80. }if(arr1[5] + arr2[5] + arr3[5] == 4){
  81. arr3[5] = 0;
  82. arr3[4] = 0;
  83. arr3[3] = 0;
  84. arr3[2] = 1;
  85. }else if(arr1[5] + arr2[5] + arr3[5] == 3){
  86. arr3[5] = 0;
  87. arr3[4] = 0;
  88. arr3[3] = 1;
  89. }else if(arr1[5] + arr2[5] + arr3[5] == 2){
  90. arr3[5] = 0;
  91. arr3[4] = 1;
  92. }else{
  93. arr3[5] = arr1[5] + arr2[5];
  94.  
  95.  
  96. }if(arr1[4] + arr2[4] + arr3[4] == 5){
  97. arr3[4] = 0;
  98. arr3[3] = 0;
  99. arr3[2] = 0;
  100. arr3[1] = 0;
  101. arr3[0] = 1;
  102. System.out.println("set value 3 to" + arr3[3]);
  103. }else if(arr1[4] + arr2[4] + arr3[4] == 4){
  104. arr3[4] = 0;
  105. arr3[3] = 0;
  106. arr3[2] = 0;
  107. arr3[1] = 1;
  108. System.out.println("set value 3 to" + arr3[3]);
  109. }else if(arr1[4] + arr2[4] + arr3[4] == 3){
  110. arr3[4] = 0;
  111. arr3[3] = 0;
  112. arr3[2] = 1;
  113. System.out.println("set value 3 to" + arr3[3]);
  114. }else if(arr1[4] + arr2[4] + arr3[4] == 2){
  115. arr3[4] = 0;
  116. arr3[3] = 1;
  117. System.out.println("set value 3 to" + arr3[3]);
  118. }else{
  119. arr3[4] = arr1[4] + arr2[4];
  120. System.out.println("set value 3 to" + arr3[3]);
  121.  
  122. }if(arr1[3] + arr2[3] + arr3[3] == 6){
  123. arr3[3] = 0;
  124. arr3[2] = 0;
  125. arr3[1] = 0;
  126. arr3[0] = 0;
  127. Main5.didOverflow = true;
  128. }else if(arr1[3] + arr2[3] + arr3[3] == 5){
  129. arr3[3] = 0;
  130. arr3[2] = 0;
  131. arr3[1] = 0;
  132. arr3[0] = 0;
  133. Main5.didOverflow = true;
  134. }else if(arr1[3] + arr2[3] + arr3[3] == 4){
  135. arr3[3] = 0;
  136. arr3[2] = 0;
  137. arr3[1] = 0;
  138. arr3[0] = 1;
  139. }else if(arr1[3] + arr2[3] + arr3[3] == 3){
  140. arr3[3] = 0;
  141. arr3[2] = 0;
  142. arr3[1] = 1;
  143. }else if(arr1[3] + arr2[3] + arr3[3] == 2){
  144. arr3[3] = 0;
  145. arr3[2] = 2;
  146. }else{
  147. arr3[3] = arr1[3] + arr2[3];
  148.  
  149. }if(arr1[2] + arr2[2] + arr3[2] == 7){
  150. arr3[2] = 0;
  151. arr3[1] = 0;
  152. arr3[0] = 0;
  153. Main5.didOverflow = true;
  154. }if(arr1[2] + arr2[2] + arr3[2] == 6){
  155. arr3[2] = 0;
  156. arr3[1] = 0;
  157. arr3[0] = 0;
  158. Main5.didOverflow = true;
  159. }if(arr1[2] + arr2[2] + arr3[2] == 5){
  160. arr3[2] = 0;
  161. arr3[1] = 0;
  162. arr3[0] = 0;
  163. Main5.didOverflow = true;
  164. }if(arr1[2] + arr2[2] + arr3[2] == 4){
  165. arr3[2] = 0;
  166. arr3[1] = 0;
  167. arr3[0] = 0;
  168. Main5.didOverflow = true;
  169. }if(arr1[2] + arr2[2] + arr3[2] == 3){
  170. arr3[2] = 0;
  171. arr3[1] = 0;
  172. arr3[0] = 1;
  173. }if(arr1[2] + arr2[2] + arr3[2] == 2){
  174. arr3[2] = 0;
  175. arr3[1] = 1;
  176. }else{
  177. arr3[2] = arr1[2] + arr2[2];
  178.  
  179. }if(arr1[1] + arr2[1] + arr3[1] == 8){
  180. arr3[1] = 0;
  181. arr3[0] = 0;
  182. Main5.didOverflow = true;
  183. }if(arr1[1] + arr2[1] + arr3[1] == 7){
  184. arr3[1] = 0;
  185. arr3[0] = 0;
  186. Main5.didOverflow = true;
  187. }if(arr1[1] + arr2[1] + arr3[1] == 6){
  188. arr3[1] = 0;
  189. arr3[0] = 0;
  190. Main5.didOverflow = true;
  191. }if(arr1[1] + arr2[1] + arr3[1] == 5){
  192. arr3[1] = 0;
  193. arr3[0] = 0;
  194. Main5.didOverflow = true;
  195. }if(arr1[1] + arr2[1] + arr3[1] == 4){
  196. arr3[1] = 0;
  197. arr3[0] = 0;
  198. Main5.didOverflow = true;
  199. }if(arr1[1] + arr2[1] + arr3[1] == 3){
  200. arr3[1] = 0;
  201. arr3[0] = 0;
  202. Main5.didOverflow = true;
  203. }if(arr1[1] + arr2[1] + arr3[1] == 2){
  204. arr3[1] = 0;
  205. arr3[0] = 1;
  206. }else{
  207. arr3[1] = arr1[1] + arr2[1];
  208.  
  209.  
  210. }if(arr1[0] + arr2[0] + arr3[0] == 9){
  211. arr3[0] = 0;
  212. Main5.didOverflow = true;
  213. }if(arr1[0] + arr2[0] + arr3[0] == 8){
  214. arr3[0] = 0;
  215. Main5.didOverflow = true;
  216. }if(arr1[0] + arr2[0] + arr3[0] == 7){
  217. arr3[0] = 0;
  218. Main5.didOverflow = true;
  219. }if(arr1[0] + arr2[0] + arr3[0] == 6){
  220. arr3[0] = 0;
  221. Main5.didOverflow = true;
  222. }if(arr1[0] + arr2[0] + arr3[0] == 5){
  223. arr3[0] = 0;
  224. Main5.didOverflow = true;
  225. }if(arr1[0] + arr2[0] + arr3[0] == 4){
  226. arr3[0] = 0;
  227. Main5.didOverflow = true;
  228. }if(arr1[0] + arr2[0] + arr3[0] == 3){
  229. arr3[0] = 0;
  230. Main5.didOverflow = true;
  231. }if(arr1[0] + arr2[0] + arr3[0] == 2){
  232. arr3[0] = 0;
  233. Main5.didOverflow = true;
  234. }else{
  235. arr3[1] = arr1[1] + arr2[1];
  236. }
  237.  
  238.  
  239. //dNiym the easy way
  240. int sum = main.c + main.d; //get the two int values and add them
  241. int diff = 0; //difference of 255-sum (only used if we are over 255)
  242. if(sum > 255)
  243. diff = diff - 255; //leftover for our first 8 bits.
  244.  
  245. if(diff > 0) {
  246. Main5.didOverflow = true;
  247. sum = diff; //re-assign the value of sum to the leftovers.
  248. }
  249. arr3 = convertToBinary(sum); //use our existing method to convert the sum (or leftovers to get first 8 bits)
  250. //end dNiym easy way.
  251.  
  252. return arr3;
  253. }
  254.  
  255. public static void printBin(int[] addedArray){
  256.  
  257.  
  258. System.out.println("\n\nAdded:");
  259. if(Main5.didOverflow){
  260. System.out.println("Error: overflow");
  261. }
  262. for(int i = 0; i < 8;i++){
  263. System.out.print(addedArray[i]+ " ");
  264. }
  265.  
  266.  
  267.  
  268. }
  269.  
  270. public static void main(String[] args) throws IOException {
  271. Scanner scan = new Scanner(System.in);
  272.  
  273. System.out.println("Enter a base ten number between 0 and 255, inclusive.");
  274. public static int c = scan.nextInt();
  275.  
  276. System.out.println("Enter a base ten number between 0 and 255, inclusive.");
  277. public static int d = scan.nextInt();
  278.  
  279. int[] arr1 = new int[8];
  280. int[] arr2 = new int[8];
  281. int[] arr3 = new int[8];
  282.  
  283. arr1 = convertToBinary(c);
  284. arr2 = convertToBinary(d);
  285.  
  286. System.out.println("First binary number:");
  287. for(int i = 0; i < 8;i++){
  288. System.out.print(arr1[i]+ " ");
  289. }
  290.  
  291. System.out.println("\n\nSecond binary number:");
  292. for(int i = 0; i < 8;i++){
  293. System.out.print(arr2[i]+ " ");
  294. }
  295.  
  296. arr3 = addBin(arr1,arr2);
  297. printBin(arr3);
  298.  
  299. }
  300. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement