闲着没事写了个简单的十进制转二进制的算法,很简单,个人记录一下,不妥之处请指正. public static String toBinaryString(int j) { if (j < 0) { throw new NumberFormatException("不支持负数"); } double i = (double) j; StringBuilder sb = new StringBuilder(); while (true) { if (i % 2 == 0) sb.ap
1. 十进制转二进制 原理:给定的数循环除以2,直到商为0或者1为止.将每一步除的结果的余数记录下来,然后反过来就得到相应的二进制了. 比如8转二进制,第一次除以2等于4(余数0),第二次除以2等于2(余数0),第三次除以2等于1(余数0),最后余数1,得到的余数依次是 0 0 0 1 , 反过来就是1000,计算机内部表示数的字节长度是固定的,比如8位,16位,32位.所以在高位补齐,java中字节码是8位的,所以高位补齐就是00001000. 代码实现: public class Test
1.十进制转换为二进制 var toBin = (n) => { if(n == 0) return '0'; var res = ''; while(n != 0) { res = n % 2 + res n = parseInt(n / 2) } return res; } 2.二进制转换为十进制 var toDecimal = (s) => { var res = 0; var arr = s.split(''); var len = arr.length; for(var i = 0;