浮点数

数值编码

…衆ロ難τιáo~ 提交于 2019-12-04 15:18:23
各种数值数据在计算机中表示的形式称为机器数。机器数对应的实际数值称为数的真值。 定点数和浮点数区别 定点数 小数点的位置固定不变 浮点数 F = M * 2 E M:尾数 E:阶码 浮点数表示一般包括:数符,阶符,阶码数值部分,尾数数值部分 原码 定义 (1)整数 \[\left[ X \right]{\rm{ = }}\left\{ {\begin{array}{*{20}{c}} {X{\rm{ }}({\rm{0}} \le X{\rm{ < }}{{\rm{2}}^{n - 1}}{\rm{) }}}\\ {{2^{n - 1}} - X{\rm{ }}({\rm{ - }}{{\rm{2}}^{n - 1}}{\rm{ < }}X \le 0){\rm{ }}} \end{array}} \right.\] 来源: https://www.cnblogs.com/xumaomao/p/11871267.html

常用的正则表达式

Deadly 提交于 2019-12-04 13:43:43
^[1-9]\d $    //匹配正整数 ^-[1-9]\d $   //匹配负整数 ^-?[1-9]\d $   //匹配整数 ^[1-9]\d |0$  //匹配非负整数(正整数 + 0) ^-[1-9]\d |0$   //匹配非正整数(负整数 + 0) ^[1-9]\d .\d |0.\d [1-9]\d $   //匹配正浮点数 ^-([1-9]\d .\d |0.\d [1-9]\d )$  //匹配负浮点数 ^-?([1-9]\d .\d |0.\d [1-9]\d |0?.0+|0)$  //匹配浮点数 ^[1-9]\d .\d |0.\d [1-9]\d |0?.0+|0$   //匹配非负浮点数(正浮点数 + 0) ^(-([1-9]\d .\d |0.\d [1-9]\d*))|0?.0+|0$  //匹配非正浮点数(负浮点数 + 0) 来源: https://www.cnblogs.com/mybilibili/p/11868823.html

python day 5 基本数据类型

隐身守侯 提交于 2019-12-04 06:57:56
Python Day 5 基本数据类型 一、整数类型 1.与数学中整数的概念一致。没有取值范围 2.pow(x,y) 函数 计算 x 的 y 次幂 Pow(2,pow(2,15)) 3.四种进制表示形式 (1)十进制 (2) 二进制 0b 开头 (3) 八进制 0o 开头 (4) 十六进制 0X 或 0x 开头 二、浮点类型 1.与数学中的实数概念一致 2. 浮点数间运算存在不确定的尾数,不是 bug 例如: 0.1+0.2=0.3000000004 原因:二进制与十进制不是严格的对等关系, python 用 53 位二进制表示小数,是无限接近而不是完全对等。 0.1+0.2==0.3 居然输出 false 3.round(x,d): 对 x 四舍五入, d 是小数截取尾数 其实就是去取几位小数的意思。 用 round 函数辅助浮点数的比较 4.科学计数法表示 (1) 使用 e 或 E 作为幂的符号,底为 10 (2)4.3e-3 == 0.0043 4.3e+3==4300 ==4.3e3 正指数幂 + 号可以省去也可以保留 (3)取值范围和精度基本可以算作是无限制 三、复数类型 1. 只有 python 语言提供了复数类型 2.Z == 1.23e-4+5.6e+89j 字母 j 表示虚数单位 3.Z.real 获取实部 z 代表某一数据 Z.imag 获取虚部 四

python-01 快速上手:基础知识

孤街浪徒 提交于 2019-12-04 06:53:18
#第一章 快速上手:基础知识# 1.1交互式解释器# 1.2 算法是什么# 1.3 数和表达式 + - * /(求商) %(求余)# 十六进制、 八进制 二进制# print(0xAF) # 16进制 0x 开头# print(hex(175)) # 10进制转化为 16 进制# print(0o10) # 8进制 0o 开头# print(oct(8)) # 10进制转化为 8 进制# print(0b111111) # 2进制 0b 开头# print(bin(63)) # 10进制转化为2进制# 1.4 变量 #字母、数字和下划线(_)构成, 数字不能开头# 1.5 语句# 1.6 获取用户输入#input('输入一个数字:')# 1.7 函数# 1.8 模块# import math# print(math.floor(32.5))# # 1.8.1 cmath 和复数# import cmath# print(cmath.sqrt(-1))# 1.8.1 回到未来 __future__# 1.9 保存并执行程序#1.9.1 从命令提示符运行Python 脚本#1.9.2 拼接字符串#1.9.3 注释 # """"""(三对单引号、双引号)#1.10 字符串#1.10.1 单引号字符串以及对引号转义#1.10.2 拼接字符串#1.10.3 字符串 str 和 repr#1

【大数据技术能力提升_2】numpy学习

霸气de小男生 提交于 2019-12-04 04:58:15
numpy学习 标签(空格分隔): numpy python 数据类型 5种类型:布尔值(bool),整数(int),无符号整数(uint)、浮点(float)、复数(complex) 支持的原始类型与 C 中的原始类型紧密相关: Numpy 的类型 C 的类型 描述 np.bool bool 存储为字节的布尔值(True或False) np.byte signed char 平台定义 np.ubyte unsigned char 平台定义 np.short short 平台定义 np.ushort unsigned short 平台定义 np.intc int 平台定义 np.uintc unsigned int 平台定义 np.int_ long 平台定义 np.uint unsigned long 平台定义 np.longlong long long 平台定义 np.ulonglong unsigned long long 平台定义 np.half / np.float16 - 半精度浮点数:符号位,5位指数,10位尾数 np.single float 平台定义的单精度浮点数:通常为符号位,8位指数,23位尾数 np.double double 平台定义的双精度浮点数:通常为符号位,11位指数,52位尾数。 np.longdouble long double np

为什么0.1+0.2=0.30000000000000004

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-04 01:20:22
​阅读本文大约需要8分钟... 问题 在计算机的世界里,可能有很多常人无法理解的事情。比如 0.1 + 0.2 = ?。来,告诉我你的答案。 有的朋友看到这就迫不及待的说,这么简单的问题,很明显等于 0.3 啊,小学生都会算的好伐。你这是在侮辱我的智商? 好吧,我来告诉你一个打脸的事实,0.1 + 0.2 还真不等于 0.3 。先别急着反驳我。 打开你的任意一个浏览器(我用chrome做演示),F12打开console控制台,输入 console.log(0.1 + 0.2) 。如果你操作正确的话,你会看到以下的结果。 是不是感觉匪夷所思,what?为什么结果是0.30000000000000004,这是神魔鬼? 难道,我这么多年学习的数学知识,老师教的都是错的? 别着急。其实,你的老师教的没错,在我们的世界中,0.1 + 0.2 确实是等于 0.3 的。但是,在计算机中,可就不是这么一回事了。待我娓娓道来。 因为,我们在计算数学问题的时候,用的是十进制,计算出来结果是0.3没问题。但是,在计算机中用的是二进制,都是由0和1来组成。这就不得不提一下,十进制转换二进制了。 二进制转换 十进制小数转换二进制的步骤:(以10.25为例) 1.先转换整数部分,除2直到商为0,倒数取余。 10/2 ... 商5...余数0 5/2 ...商2...余数1 2/2 ...商1...余数0 1

为什么0.1+0.2=0.30000000000000004

微笑、不失礼 提交于 2019-12-04 00:12:42
​阅读本文大约需要8分钟... 问题 在计算机的世界里,可能有很多常人无法理解的事情。比如 0.1 + 0.2 = ?。来,告诉我你的答案。 有的朋友看到这就迫不及待的说,这么简单的问题,很明显等于 0.3 啊,小学生都会算的好伐。你这是在侮辱我的智商? 好吧,我来告诉你一个打脸的事实,0.1 + 0.2 还真不等于 0.3 。先别急着反驳我。 打开你的任意一个浏览器(我用chrome做演示),F12打开console控制台,输入 console.log(0.1 + 0.2) 。如果你操作正确的话,你会看到以下的结果。 是不是感觉匪夷所思,what?为什么结果是0.30000000000000004,这是神魔鬼? 难道,我这么多年学习的数学知识,老师教的都是错的? 别着急。其实,你的老师教的没错,在我们的世界中,0.1 + 0.2 确实是等于 0.3 的。但是,在计算机中,可就不是这么一回事了。待我娓娓道来。 因为,我们在计算数学问题的时候,用的是十进制,计算出来结果是0.3没问题。但是,在计算机中用的是二进制,都是由0和1来组成。这就不得不提一下,十进制转换二进制了。 二进制转换 十进制小数转换二进制的步骤:(以10.25为例) 1.先转换整数部分,除2直到商为0,倒数取余。 10/2 ... 商5...余数0 5/2 ...商2...余数1 2/2 ...商1...余数0 1

Python数值类型中需要注意的一些细节汇总

*爱你&永不变心* 提交于 2019-12-03 22:42:37
一:Python表达式运算符的优先级如下图: 如果程序中有括号,那么就要先考虑括号,在括号运算的基础之上再去考虑优先级。 混合类型向上转换: 整数与浮点数进行混合运算,例如你把恶一个整数和一个浮点数相加:40 + 3.14  请问相加的结果是什么呢?是整数类型还是浮点数类型呢? 答案其实很简单, 在混合类型的表达式中,Python首先将被操作的对象 转换成其中最复杂的操作数的类型,然后再对相同的操作数进行数学运算。 Python中划分数值类型复杂度是这样的:整数比浮点数简单,浮点数比复数简单,故而上述例子中,一个整数40与浮点数3.14运算时,整数首先升级为浮点数, 之后进行浮点数的运算得到结果: 40 + 3.14 43.14 二:变量与基础表达式: 1-变量在第一次赋值时被创建。 2-变量在表达式中使用时,会被替换成它们的值。 3-变量使用之前必须要被赋值,不赋值不执行。 三: >>> 1.1 + 2.2 == 3.3 False >>> 1.1 + 2.2 3.0000000003 >>> int(1.2 + 2.2) == int(3.3 ) True 来源: https://www.cnblogs.com/luochunbigdata/p/11809999.html