十进制转二进制代码

mac2022-06-30  30

睡不着  看了一下以前的博客 发现算法bug修复一下   2017年10月4日 01:38:44

网上看到一个代码 很有意思大家可以看看

public static void main(String[] args) { int n = -10; String result = ""; boolean minus = false; //如果该数字为负数,那么进行该负数+1之后的绝对值的二进制码的对应位取反,然后将它保存在result结果中 if(n < 0){ minus = true; n = Math.abs(n + 1); } while(true){ int remainder = (!minus && n % 2 == 0) || (minus && n % 2 == 1) ? 0 : 1; //将余数保存在结果中 result = remainder + result; n /= 2; if(n == 0){ break; } } //判断是否为负数,如果是负数,那么前面所有位补1 if(minus){ n = result.length(); for(int i = 1; i <= 32 - n; i++){ result = 1 + result; } } System.out.println(result); }

 

--------------------------------------------------------------------------------------------------------------------

今天温习了学过的知识,将十进制转二进制的代码做出来了,如有不对请各位大神指出

System.out.print("请输入一个十进制数字:"); Scanner sc=new Scanner(System.in); int a=sc.nextInt(); int l=0;//l为除了几次 int b[]=new int[32]; while(a>0) { a/=2; b[31-l]=a%2; l++; } System.out.println("转化的二进制数字为:"); for (int i = 0; i < b.length; i++) { System.out.print(b[i]); if ((i+1)%8==0) { System.out.print(" "); } }

转载于:https://www.cnblogs.com/wangxinJ/p/6720822.html

相关资源:BMP转二进制代码工具
最新回复(0)