小数点怎么进行进制转换?
上一篇博文什么是进制?各进制间如何转换?解答了进制概念以及整数位的各进制间的转换。而对于小数点的进制转换是如何的呢?这里来看如何进行小数点的进制转换。
带小数点的二进制转十进制
例如:00010100.1转换为十进制?
带小数的转换则是整数部分很小数部分分开计算。
对于00010100整数部分按照上一篇博文可以得到转换为十进制是20。接下来我们计算小数部分。
小数部分二进制为1。小数点的取值范围是在0<=x<1,即0-1之间。我们还是按照整数部分的逻辑来给小数部分做排列编码,排列如下:
0 0 0 0 ...
1 1 1 1 ...
2^-1 2^-2 2^-3 2^-4 ...
1/2 1/4 1/8 1/16 ...
0.5 0.25 0.125 0.0625 ...
即对应计算方式:1*2^-1=0.5,得出:00010100.1B=20.5D。
带小数十进制转二进制
还是刚刚那个例子,20.5转为二进制是多少呢?
整数部分的转换依旧是20除于2每次求余倒数排列得出20的二进制是:00010100。现在来看小数部分的转换。
还是对应上面的表,0.5对应的是1,其实按计算方式就是小数部分一直乘于2,取每次乘积的整数部分排列,直到小数部分变成0为止,若一直乘未得到0,则看其保存精度。
则20.5的二进制为:00010100.1。
带小数点二进制转八进制
例如:00010100.1转换为八进制?
整数部分依旧是按上篇博文计算得到24,我们来看小数部分。
整数部分是从右往左三个三个分开,左边无限补0,小数部分则是从右往左,右边无限补零。则转换如下:
100 =4
所以,最后得到八进制结果为:24.4。
总结
关于小数点的进制转换结束了。我们可以在这里也明白了为何浮点数的精度丢失,以及js在0.1+0.2时得到的不是0.3结果的拓展。可思考当带小数点二进制如何转十六进制等等。
小数点怎么进行进制转换?相关推荐
- 使用 Shell 运算进行进制转换 16进制转10进制
使用 Shell 运算进行进制转换 工作时候常常遇到一些问题,拿到的数字是16进制的,但是运算的时候是10进制的,shell可以很方便的处理这类的进制转换问题,一种情况是使用 Shell 运算把一个数 ...
- 【python】用python进行进制转换(10进制、2进制、16进制)
进制转换 ① 16进制转10进制 ② 16进制转2进制 ③ 10进制转16进制 ④ 10进制转2进制 ⑤ 2进制转16进制 ⑥ 2进制转10进制 博客由来写在前面:由于计组老师要求我们课后查一下进制转 ...
- 利用数组进行进制转换
进制转换 作业要求 作业成品 期间出现的问题 scanf result= a = b-1 for C语言小白,在CSDN记录CG平台上的作业和心得 作业要求 [问题描述]十进制数转换为R进制数.R可以 ...
- 使用JavaScript进行进制转换将字符串转换为十进制
1.将数字转换成十进制 parseInt(res,x); 将任意进制字符串转换为十进制,x为如二进制,八进制,十六进制, 第二数数不写即为最常用的转换为整型十进制: var res=10001; pa ...
- java利用栈进行进制转换
栈(Stack)是一种特殊的线性表,其插入和删除操作只允许在线性表的一端进行.通常称允许插入.删除操作的这一端为栈顶(Top),不允许操作的一端称为栈底(Bottom).当表中没有元素时称为空栈. 假 ...
- 用python进行进制转换(二十六进制)
- java 60进制运算_JAVA利用位移进行进制转换
class TransDemo { public static void main(String[] args) { int a = 8152936; String res1 = toBin(a); ...
- 怎么用html做进制转换器,怎样用电脑自带计算器进行进制之间的转换
电脑自带的计算器怎么使用16进制转换等功能 电脑自带的计算器怎么使用16进制转换等功能打开电脑的计算器,上中的位置有个查看,点下去选择科学型,计算器界面就变了.再选择十六进制,输入要转换的十六进制数据 ...
- python如何进行进制转换
python如何进行进制转换 1.十进制转二进制(bin) 首先我们看看怎么把一个十进制转化成二进制,我们可以使用python的内置方法 bin 输出 python 中二进制以ob开头 2.十进制转八 ...
最新文章
- 开源一个基于cocos2d-x的游戏--超级六边形(SuperSector)
- python加载shellcode免杀 简介
- asp.net 利用多表联合查询进行汇总统计
- 基于jsp的网上商城_[源码和文档分享]基于S2SH框架的JSP和MySQL的网上商城系统
- 深度学习笔记:利用numpy从零搭建一个神经网络
- I am beginning perl
- Linux内存背后的那些神秘往事
- linux内存分段管理,Linux內存管理之分段機制
- 苹果邮箱格式_格式化U盘时,为什么有NTFS等三个不同的U盘格式
- 【面试笔试-c/c++】人民搜索2012校园招聘试题
- 频繁gc是什么意思_linux查看是否频繁gc
- POJ - 1625 Censored!(AC自动机+dp+高精度运算)
- 关于学计算机趣味段子,【学习段子】_关于学习的经典段子15句
- win10安装PHPStudy 2018及mysql版本升级
- 【竞赛项目,测试点】
- 4016: 辉夜的夜空明珠(moon)
- 傻瓜式解决pycrypto安装错误
- SEO为什么没办法快速见效
- 神经网络epoch和batch的粗浅理解
- 游戏开发者注意了,小心触犯任天堂的这些专利
热门文章
- SpringMVC +Spring + MyBatis + Mysql + Redis(作为二级缓存) 配置
- 90后准程序猿写给前辈们的一封信
- ThingsBoard 使用
- python手动安装jieba库 No module named ‘jieba‘
- 月薪过万应届生的10个忠告,抽点时间看看,真心受用!!
- WPF Border 设置只加一边
- Linux 如何重启网络、禁用网卡
- 十个小贴士!帮你节省编程时间、减少挫败感
- 华清远见-STM32 SPI笔记
- 华清远见网络编程学习总结