小数和二进制的转换_进制转换表
1. 小数用二进制如何表示
首先,给出一个任意实数,整数部分用普通的二进制便可以表示,这里只说小数部分如何表示
例如0.6
文字描述该过程如下:将该数字乘以2,取出整数部分作为二进制表示的第1位;然后再将小数部分乘以2,将得到的整数部分作为二进制表示的第2位;以此类推,知道小数部分为0。 特殊情况: 小数部分出现循环,无法停止,则用有限的二进制位无法准确表示一个小数,这也是在编程语言中表示小数会出现误差的原因
下面我们具体计算一下0.6的小数表示过程
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.6用二进制表示为 1001 1001 1001 1001 …… 如果是10.6,那个10.6的完整二进制表示为 1010.100110011001……
2. 二进制表示的小数如何转换为十进制
其实这个问题很简单,我们再拿0.6的二进制表示举例:1001 1001 1001 1001 文字描述:从左到右,v[i] * 2^( – i ), i 为从左到右的index,v[i]为该位的值,直接看例子,很直接的
0.6 = 1 * 2^-1 + 0 * 2^-2 + 0 * 2^-3 + 1 * 2^-4 + ……
懂了吧!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/230840.html原文链接:https://javaforall.cn
相关文章
- 再改外链转换工具
- Python 二进制,十进制,十六进制转换「建议收藏」
- delphixe5 android,Delphi XE5 Android手机端转换Ansi字符串
- 二进制实现加法_递归实现十进制转换二进制
- 二进制,八进制,十进制,十六进制数之间的转换方式
- 格雷码与二进制的转换[通俗易懂]
- 二进制、八进制、十进制、十六进制关系及转换[通俗易懂]
- 二进制8进制10进制16进制代码_不同进制之间的转换
- echart旭日图数据转换_echarts横坐标时间轴
- 十进制小数转换为二进制小数采用方法为乘2取整法?_小数点二进制转10进制
- MySQL 获得当前日期时间(以及时间的转换)。[通俗易懂]
- Java中二进制转换的多种方法
- Python数据类型怎么转换?数据类型转换函数命令示语句及常见问题
- Oracle 大小写转换函数实例详解
- 转换Oracle数据库编码转换实践(oracle编码)
- Linux环境下如何转换二进制文件(linux转换二进制文件)
- 转换将MySQL 二进制数据转化为可读文本(mysql二进制数据)
- Linux下快速音频转换利器(linux音频转换)
- 利用GRC进行安全研究和审计 – 将无线电信号转换为数据包
- Oracle转换为二进制:一次完美转换(oracle转二进制)
- 在 Linux 中快速转换时间:date 命令实战(linux时间转换命令)
- 如何在Oracle中进行时间转换格式(oracle时间转换格式)
- 如何将Oracle半角字符转换为全角字符(oracle半角转全角)
- MySQL从二进制转变,让我们轻松转换!(mysql转换二进制)
- 转换如何快速转换Oracle二进制数据(oracle二进制如何)
- Oracle中金额值的转换(oracle 值改为金额)
- 在ASP.Net中实现flv视频转换的代码
- mysql时间转换函数的使用方法
- SQLServer中实现二进制与字符类型之间的数据转换
- LINQ字符串向datetime转换时失败的处理方法
- C++十进制转换为二进制的实例代码
- python3图片转换二进制存入mysql