上一篇博文什么是进制?各进制间如何转换?解答了进制概念以及整数位的各进制间的转换。而对于小数点的进制转换是如何的呢?这里来看如何进行小数点的进制转换。

带小数点的二进制转十进制

例如: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结果的拓展。可思考当带小数点二进制如何转十六进制等等。

小数点怎么进行进制转换?相关推荐

  1. 使用 Shell 运算进行进制转换 16进制转10进制

    使用 Shell 运算进行进制转换 工作时候常常遇到一些问题,拿到的数字是16进制的,但是运算的时候是10进制的,shell可以很方便的处理这类的进制转换问题,一种情况是使用 Shell 运算把一个数 ...

  2. 【python】用python进行进制转换(10进制、2进制、16进制)

    进制转换 ① 16进制转10进制 ② 16进制转2进制 ③ 10进制转16进制 ④ 10进制转2进制 ⑤ 2进制转16进制 ⑥ 2进制转10进制 博客由来写在前面:由于计组老师要求我们课后查一下进制转 ...

  3. 利用数组进行进制转换

    进制转换 作业要求 作业成品 期间出现的问题 scanf result= a = b-1 for C语言小白,在CSDN记录CG平台上的作业和心得 作业要求 [问题描述]十进制数转换为R进制数.R可以 ...

  4. 使用JavaScript进行进制转换将字符串转换为十进制

    1.将数字转换成十进制 parseInt(res,x); 将任意进制字符串转换为十进制,x为如二进制,八进制,十六进制, 第二数数不写即为最常用的转换为整型十进制: var res=10001; pa ...

  5. java利用栈进行进制转换

    栈(Stack)是一种特殊的线性表,其插入和删除操作只允许在线性表的一端进行.通常称允许插入.删除操作的这一端为栈顶(Top),不允许操作的一端称为栈底(Bottom).当表中没有元素时称为空栈. 假 ...

  6. 用python进行进制转换(二十六进制)

  7. java 60进制运算_JAVA利用位移进行进制转换

    class TransDemo { public static void main(String[] args) { int a = 8152936; String res1 = toBin(a); ...

  8. 怎么用html做进制转换器,怎样用电脑自带计算器进行进制之间的转换

    电脑自带的计算器怎么使用16进制转换等功能 电脑自带的计算器怎么使用16进制转换等功能打开电脑的计算器,上中的位置有个查看,点下去选择科学型,计算器界面就变了.再选择十六进制,输入要转换的十六进制数据 ...

  9. python如何进行进制转换

    python如何进行进制转换 1.十进制转二进制(bin) 首先我们看看怎么把一个十进制转化成二进制,我们可以使用python的内置方法 bin 输出 python 中二进制以ob开头 2.十进制转八 ...

最新文章

  1. 开源一个基于cocos2d-x的游戏--超级六边形(SuperSector)
  2. python加载shellcode免杀 简介
  3. asp.net 利用多表联合查询进行汇总统计
  4. 基于jsp的网上商城_[源码和文档分享]基于S2SH框架的JSP和MySQL的网上商城系统
  5. 深度学习笔记:利用numpy从零搭建一个神经网络
  6. I am beginning perl
  7. Linux内存背后的那些神秘往事
  8. linux内存分段管理,Linux內存管理之分段機制
  9. 苹果邮箱格式_格式化U盘时,为什么有NTFS等三个不同的U盘格式
  10. 【面试笔试-c/c++】人民搜索2012校园招聘试题
  11. 频繁gc是什么意思_linux查看是否频繁gc
  12. POJ - 1625 Censored!(AC自动机+dp+高精度运算)
  13. 关于学计算机趣味段子,【学习段子】_关于学习的经典段子15句
  14. win10安装PHPStudy 2018及mysql版本升级
  15. 【竞赛项目,测试点】
  16. 4016: 辉夜的夜空明珠(moon)
  17. 傻瓜式解决pycrypto安装错误
  18. SEO为什么没办法快速见效
  19. 神经网络epoch和batch的粗浅理解
  20. 游戏开发者注意了,小心触犯任天堂的这些专利

热门文章

  1. SpringMVC +Spring + MyBatis + Mysql + Redis(作为二级缓存) 配置
  2. 90后准程序猿写给前辈们的一封信
  3. ThingsBoard 使用
  4. python手动安装jieba库 No module named ‘jieba‘
  5. 月薪过万应届生的10个忠告,抽点时间看看,真心受用!!
  6. WPF Border 设置只加一边
  7. Linux 如何重启网络、禁用网卡
  8. 十个小贴士!帮你节省编程时间、减少挫败感
  9. 华清远见-STM32 SPI笔记
  10. 华清远见网络编程学习总结