84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
输入一个整数,转换成二进制、求原码、补码、都是二进制。
博客:www.xiaobingby.com
光阴似箭催人老,日月如移越少年。
已解决 代码
package BinaryTest; public class BinaryTest { public static void main(String[] args) { // TODO Auto-generated method stub int n = 3; MyBinary mb = new MyBinary(n); System.out.println("+"+n+"原码:"); mb.YuanMa(); System.out.println("+"+n+"补码"); mb.YuanMa(); System.out.println("-"+n+"原码:"); mb.YuanMa(); System.out.println("-"+n+"补码码"); mb.BuMa(); } } package BinaryTest; public class MyBinary { int ib; int[] bin = new int[8]; //存放整数负数 转换的二进制 int[] ym = new int[8]; //存放原码 int[] bm = new int[8]; //存放补码 public MyBinary() { } public MyBinary(int ib) { this.ib = ib; } /** *数负数转换二进制 */ public void toBinary() { int ib = this.ib; for (int i = 7; i >= 0; i--) { if (ib >= 0) { bin[i] = ib%2; } else { bin[i] = -(ib%2); } ib = ib/2; } } /** *数负数转换二进制 *函数重载 */ public void toBinary(int arr[]) { int ib = this.ib; for (int i = 7; i >= 0; i--) { if (ib >= 0) { arr[i] = ib%2; } else { arr[i] = -(ib%2); } ib = ib/2; } } /** * 原码存放 */ public void YuanMa() { this.toBinary(); toBinary(ym); for (int i = 0; i < 8; i++) { System.out.print(ym[i]); } System.out.println(); } public void BuMa() { this.toBinary(); toBinary(bm); qF(); J1(); for (int i = 0; i < 8; i++) { System.out.print(bm[i]); } System.out.println(); } private void qF() { for (int i = 0; i < 8; i++) { if (bm[i] == 0) { bm[i] = 1; } else { bm[i] = 0; } } } private void J1() { int j = 1; for (int i = 7; i >= 0 && j == 1; i--) { if(bm[i] == 1){ j = 1; } else { j = 0; } bm[i] +=1; bm[i]%=2; } } /** * 打印数组 */ public void pBinary() { for (int i = 0; i < 8; i++) { System.out.print(ym[i]); } } }
已解决 代码