84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
输入一个整数,转换成二进制、求原码、补码、都是二进制。
博客: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]); } } }
已解决 代码