C++/C专栏收录该内容
60 篇文章1 订阅
订阅专栏
1、二进制小数转换为十进制数
先举一个例子,例如:0.101,第一个1代表的是2的负一次方(0.5),即1*0.5,第二个1代表的是2的负三次方(0.125),即1*0.125,结果为0.5+0.125=0.625,简而言之,每个1乘以其所在位所代表的数,最后相加。小数点后第一位所代表的数是2的负一次方,第二位是负二次方,以此类推(类似十进制中小数点第一位是10的负一次方,即0.1,第二位是10的负二次方,即0.01一次类推),希望你能明白。
再看你的问题111.11转为为十进制1*4+1*2+1*1+1*0.5+1*0.25=7.75
追问
你能不能把式子写成乘方的形式,那样我就能看懂了
追答
你的问题:1*2^2+1*2^1+1*2^0+1*2^(-1)+1*2^(-2)=4+2+1+0.5+0.25=7.75,希望你明白了。
2、十进制小数怎么转换为二进制小数方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分 为零为止。如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数,下面举例: 例1:将0.125换算为二进制 得出结果:将0.125换算为二进制(0.001)2 分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25; 第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5; 第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0; 第四步,读数,从第一位读起,读到最后一位,即为0.001。
追问
那视频上说十进制的0.5变成二进制是0.1?
追答
按我说的步骤去做,得到的最后值就是正确答案