计算机语言有哪几类,属于计算机程序设计语言的是,计算机语言有哪几类,属于计算机程序设计语言的是哪些

  计算机语言有哪几类,属于计算机程序设计语言的是,计算机语言有哪几类,属于计算机程序设计语言的是哪些

  最近在学习JS的过程中发现了计算机JS,发现了一件很有意思的事情。0.1 0.2的结果不是0.3,而是0.30000000004,而是将小数相乘,相加,相除,得到想要的0.3。

  我在python上试过,python也是,结果是0.30000000004。

  然后开始收集资料,终于找到了答案。要了解原因,就要知道二进制,指数格式,IEEE 754标准等等。

  1.二进制

  计算机中的所有数据都以二进制格式存储,包括整数、浮点数和所有其他类型的数据。我们把十进制的0.1和0.2转换成二进制。

  转换方法也比较简单,就是把整数转换成二进制数。也就是把整数除以2,从下往上取余数。以下图100为例。

  然后把小数转换成二进制,也就是把小数部分无限乘以2,按顺序取整数。以0.375为例。

  2.指数形式

  指数意味着在有限的空间内可以存储更大的值。

  的所有小数都可以用指数表示,D=M*10E,比如100可以表示为1*102。

  二进制数也可以用指数来表示。B=M*2E的形式,其中e是指数,M是B的位数,例如0.011可以表示为1.1*10-10,其中“-10”表示-2。

  3.浮点数的IEEE754标准

  JavaScript数只有一个,包括整数和小数,符合IEEE 754标准,用64位固定长度表示。也就是说,它是一个标准的双精度浮点数。

  这里,第一个符号位“1”表示负数,“0”表示正数。

  首先,将十进制的0.1转换成二进制的0.5000000000005

  然后,将十进制0.2转换为二进制。0.0011001100110011 .

  二。将二进制0.1和0.2转换成指数形式

  小数:0.1

  二进制格式:0.0001100110011001100110011。

  指数形式:1.10011001100110011。*2-100//指数为-4

  小数:0.2

  二进制格式:0.001100110001 110001 100015

  指数形式:1.1001100110011001100110011。* 2-11//指数是-3

  第三,将指数形式转换成IEEE754标准

  这里IEEE754标准规定尾数只能保留52位,所以四舍五入后无限循环小数只能保留52位。(第53位之后,所有位都被丢弃,第53位为“0-丢弃”,如果第52位为1,则必须提前1位)。

  将十进制0.2转换为IEEE 754标准:

  四。使用IEEE 754格式0.1 0.2

  这太长了。简单来说就是10.40000.000000000005另一方面,此时得到的数值指标仍然是指数形式,要转换成二进制形式,前三位小数必须是0.010010001000001.1000100005

  然后将数字转换成十进制数后,得到0.300000000004,即0 *2-1*2- 20 *2- 30 *2-4.1*2- 52。

  总的来说:

  因为计算机上存储数据的空间有限,所以只能存储定长数据。另一方面,由于无限循环等数据只能四舍五入,所以有些数据本身可能会有一些误差,所以即使添加也是有误差的。

  最后,我们来看看为什么(0.1*10 0.2*10 )/10等于3。0.1和0.2先相乘,所以是整数。那么,我们来看看整数之间的加法。

  最后用3/10得出0.3。这个我还没想好怎么算,就用电脑吧。

  blogs.com/hai-long/p/12552148.html, www.cn街3359号

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 从大学开始学计算机,通过大学计算机你学到了什么
  • 从大学开始学计算机,通过大学计算机你学到了什么,写给正在读计算机专业的同学 该如何学习
  • 计算机二级是按通过率还是按分数,计算机二级合格的分数
  • 介绍一下计算机语言,主要计算机语言类型,简述计算机语言
  • 计算机编程语言有哪些种类,计算机编程语言分哪三类
  • 计算机的教程,学计算机教程好吗,计算机的教程,学计算机教程怎么样
  • 计算机组成原理哪本书比较好,学计算机组成原理需要什么基础
  • 计算机语音种类,属于计算机高级语音
  • 计算机二级python题库有多少套题,二级python考试题库
  • 计算机中汇编语言是一种,汇编语言与计算机系统组成答案
  • 计算机中常用的编码有哪几种,什么是计算机编码-常用的编码有哪些
  • 计算机编程关键字,编程语言的关键字
  • 计算机发展历史简述文,计算机的历史特点,计算机发展历史简述文,计算机的历史价值
  • 计算机cv专业是什么,cv计算机视觉入门难吗
  • Win10局域网共享看不到其他计算机,win10共享电脑其他电脑无法显示
  • 留言与评论(共有 条评论)
       
    验证码: