十进制的小数转换为二进制,主要是小数部分乘以2,取整数部分依次从左往右放在小数点后,直至小数点后为0。先把213转为二进制为11010101再把0.154乘2取整法,如0.154*2=0.308 此时小数第一位为0,现变为 11010101.0 继续上一步:1:0.308 *2=0.616此时小数第2位为0,现变为 11010101.002:...
对于十进制小数部分,采用乘2取整法,即对十进制纯小数乘以2,摘除乘积中的整数部分后保留小数部分再乘以2,如此继续下去,直至乘积小数部分为零或者得到要求的精度为止。
public static String fun(double dTestNo, int iBase) { int bit = 10; //保留10位小数 int[] iT = new int[bit]; int iNo; String result = ""; for (iNo = 0; iNo < bit; iNo++) { dTestNo *= iBase; iT[iNo] = (int) dTestNo; // 填空 if (dTestNo >= 1.0) dTestNo -=...
十进制的小数转换为二进制,主要是小数部分乘以2,取整数部分依次从左往右放在小数点后,直至小数点后为0。 先把213转为二进制为11010101 再把0.154乘2取整法, 如0.154*2=0.308 此时小数第一位为0,现变为 11010101.0继续上一步: 1:0.308 *2=0.616此时小数第2位为0,现变为 11010101.00 2:0.616*2=1.232 此时...
【分析】十进制数转化为二进制数时,整数部分和小数部分要用不同的方法来处理。整数部分的转化采用除基取余法:将整数除以2,所得余数即为2进制数的个位上数码,再将商除以2,余数为八进制十位上的数码……如此反复进行,直到商是0为止;对于小数的转化,采用乘基取整法:将小数乘以2,所得积的...
0.25不刚好是1/4么,所以换成二进制的小数是 11110.01 和十进制一样的,小数部分第1位的值是 x 2^(-1)第二位是 x 2^(-2)依次类推
先把213转为二进制为11010101 再把0.154乘2取整法,如 0.154*2=0.308 此时小数第一位为0,现变为 11010101.0 继续上一步 1: 0.308 *2=0.616此时小数第2位为0,现变为 11010101.00 2: 0.616*2=1.232 此时小数第3位为1,现变为 11010101.001 3: 0.232*2=0.4...
0.25不刚好是1/4么,所以换成二进制的小数是 11110.01 和十进制一样的,小数部分第1位的值是 x * 2^(-1)第二位是 x * 2^(-2)依次类推