十进制小数如何转换为二进制小数[通俗易懂]

十进制小数如何转换为二进制小数[通俗易懂]关于十进制小数转换为二进制数,下面是我的详细操作说明,仅供参考。纯小数首先,最高位是符号位,正数是0,负数是1;小数部分乘以2,然后取整数部分,,剩余小数部分继续乘以2,取整数部分,……直到小数部分为0。以+0.125为例:+数,最高位为0;小数部分0.125×2=0.25,取0;再取小数部分0.25×2=0.5,取0;再取小数部分0.5×2=1.0,取1;这时小数部分是0,结束。…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

关于十进制小数转换为二进制数,下面是我的详细操作说明,仅供参考。

纯小数

首先,最高位是符号位,正数是0,负数是1;小数部分乘以2,然后取整数部分,,剩余小数部分继续乘以2,取整数部分,……直到小数部分为0。
以+0.125为例:
+数,最高位为0;
小数部分0.125×2=0.25,取0;
再取小数部分0.25×2=0.5,取0;
再取小数部分0.5×2=1.0,取1;
这时小数部分是0,结束。然后取得数从前往后顺着数,为001。则+0.125的二进制数为:0001。
同理,-0.125的二进制为1001。只是符号位变了,小数计算方式一样。
需要注意的是,有的十进制小数转换为二进制是无限的,不是你算错了,不要纠结。
以0.65为例:
0.65×2=1.3,取1;
0.3×2=0.6,取0;
0.6×2=1.2,取1;
0.2×2=0.4,取0;
0.4×2=0.8,取0;
0.8×2=1.6,取1;
0.6×2=1.2,取1;
……
此时已经陷入了循环,不必再计算,0.65的二进制就是01010011……,有的计算中并不要求有符号位,可省略,为1010011……

非纯小数

就是既有整数,又有小数的数。此时计算方法就是分开算:整数部分按平时的转换方法,即除2取余法,小数部分按纯小数的方法计算,然后放在一起就好。符号位仍然是在最高位。
以+3.25为例:
+数,为0;
3转换为二进制为:11;
0.25用纯小数的方法计算,为01;
则+3.25的二进制数为011.01。
同理,-3.25的二进制为111.01。
如果没有要求带符号位,则可省去不写。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/189773.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号