浮点数

Python的语言元素

放肆的年华 提交于 2019-11-26 12:49:51
指令和程序 计算机的硬件系统通常由五大部件构成,包括:运算器、控制器、存储器、输入设备和输出设备。其中,运算器和控制器放在一起就是我们通常所说的中央处理器,它的功能是执行各种运算和控制指令以及处理计算机软件中的数据。我们通常所说的程序实际上就是指令的集合,我们程序就是将一系列的指令按照某种方式组织到一起,然后通过这些指令去控制计算机做我们想让它做的事情。今天我们大多数时候使用的计算机,虽然它们的元器件做工越来越精密,处理能力越来越强大,但究其本质来说仍然属于 “冯·诺依曼结构” 的计算机。“冯·诺依曼结构”有两个关键点,一是指出要将存储设备与中央处理器分开,二是提出了将数据以二进制方式编码。 变量和类型 在程序设计中,变量是一种存储数据的载体。计算机中的变量是实际存在的数据或者说是存储器中存储数据的一块内存空间,变量的值可以被读取和修改,这是所有计算和控制的基础。计算机能处理的数据有很多种类型,除了数值之外还可以处理文本、图形、音频、视频等各种各样的数据,那么不同的数据就需要定义不同的存储类型。Python中的数据类型很多,而且也允许我们自定义新的数据类型(这一点在后面会讲到),我们先介绍几种常用的数据类型。 整型:Python中可以处理任意大小的整数(Python 2.x中有int和long两种类型的整数,但这种区分对Python来说意义不大,因此在Python 3

棘手的JavaScript面试题

我的未来我决定 提交于 2019-11-26 11:30:03
1、意外的全局变量 在以下代码中, typeof a 和 typeof b 的值分别是什么: function foo() { let a = b = 0; a++; return a; } foo(); typeof a; // => ???typeof b; // => ??? 答案:让我们仔细看看第2行: let a = b = 0 。这个语句确实声明了一个 局部变量 a 。但是,它也声明了一个 全局 变量 b 。 注: b 是一个偶然创建的全局变量。 在浏览器中,上述代码相当于: function foo() { let a; window.b = 0; a = window.b; a++; return a; } foo(); typeof a; // => 'undefined' typeof window.b; // => 'number' typeof a 是 ' undefined '。 变量 a 仅在 foo() 范围内声明,在外部范围内不可用。 typeof b 等于' number '。 b 是一个值为 0 的 全局变量 。 2、鹰眼测试 numbers 数组内容是什么: const length = 4; const numbers = []; for (var i = 0; i < length; i++);{ numbers.push(i + 1);

二分查找-POJ1064-Cable Master

这一生的挚爱 提交于 2019-11-26 06:11:09
题目大意 给定n条绳子的长度a[],如果从它们中切割出k条长度相同为ans的绳子,则ans最大能是多少(给定的绳子长和答案均 保留两位小数 ) 1<=n,k<=1e5 1<=a[i]<=1e6 问题分析 问题的本质寻找可行解的上界,这与二分搜索的思想高度契合:在 有序 的一组解中利用二分不断 缩小可能解的范围 ,直至答案在 可接受的精度内 ,可以 寻找可行解的上界和下界 。 当解为浮点数时,注意模板写法上与整数的区别 二分查找得到的总是 满足判断条件的第一个解 ,即可行解的 下界 。为了得到可行解的上界,我们可以先求的不可行解的下界,这个不可行解下界的前一个,就是可行解的上界。因此我们可以在判断时做一下 逻辑反转 ,使得求上下界的代码更加统一。严谨地看,这里 隐含 了一个前提: 可行解与不可行解总是将值域分为两个连续的区域 ,即解的分布为(a)或(b),而不为©或(d)。事实上,很多问题都满足这样的分布,但在如上的逻辑反转操作中,最好还是确定一下分布条件是否成立。 --------------++++++++ +++++++++++++±------- --------++++++±------ +++++++±------ +++++++ 左边界l变化时, 变化量应为eps 而非1。 当获取结果时,注意与整数解的区别。对于整数解来说, 上界解应该为ans=r-1 。但对于浮点数解

float和double的区别

谁说胖子不能爱 提交于 2019-11-26 03:56:16
float和double的区别 两者的主要区别如下: 1.在内存中占有的字节数不同 单精度浮点数在机内存占4个字节 双精度浮点数在机内存占8个字节 2.有效数字位数不同 单精度浮点数有效数字8位 双精度浮点数有效数字16位 3.数值取值范围 单精度浮点数的表示范围:-3.40E+38~3.40E+38 双精度浮点数的表示范围:-1.79E+308~-1.79E+308 4.在程序中处理速度不同 一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快,如果不声明,默认小数为double类型,所以如果要用float的话,必须进行强转 例如:float a=1.3; 会编译报错,正确的写法 float a = (float)1.3;或者float a = 1.3f;(f或F都可以不区分大小写)。 扩展资料: 浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 excess-127 二进制指数和一个 23 位尾数。尾数表示一个介于 1.0 和 2.0 之间的数。由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在 -3.4E+38 和 3.4E+38 之间的范围。 double(双精度浮点型

python 数据类型 之 数字类型

∥☆過路亽.° 提交于 2019-11-26 03:09:48
数字类型 python数字类型有三种: 整数类型、浮点数类型、复数类型。 一、整数类型int() 十进制:1010 , 99 , -217 十六进制:0x9a , 0X89 ( 0x , 0X 开头表示十六进制) 二进制:0b010,-0B101 ( 0b , 0B 开头表示二进制 ) 八进制:0o123 , -0O456 ( 0o , 0O 开头是八进制 ) 二、浮点数类型float() 带有小数点和小数的数字 python中的浮点数的数值范围和小数精度都存在限制,这种限制与在不同的计算机系统有关。 0.0 , -77. , -2.17 96e4 , 4.3e-3 , 9.6E5 ( 科学计数法 ) 科学计数法使用 ‘e’ 或 ‘E’ 作为幂的符号,以10为基数。 e a * 10 b(上标) 三、复数类型complex() z = a + bj a 是实数部分, b 是虚数部分,a和b都是浮点类型,虚数部分用 j 或 J 表示。 12.6 + 5j -7.4 - 8.3j **对于复数 可以用 z.real来获得实部,z.imag来获得虚部 ** 四、数字类型的关系 1.三种数字类型存在一种逐渐“扩展”关系。 整数 -> 浮点数 -> 复数 2.不同数字类型之间可以进行混合运算,运算结果为最宽的类型 例如 : 124 + 4.0 = 127.0 (整数 + 浮点数 = 浮点数)

Keras神经网络的学习与使用(4)-数据增强

十年热恋 提交于 2019-11-25 19:24:30
数据增强 数据增强的作用 数据增强的概述 Keras实现数据增强 自己实现数据增强 数据增强的作用 深度学习有3个核心要素,分别是: 优秀的算法设计 高性能的计算能力 大数据 因此在我们拥有优秀的算法设计和高性能的计算能力的同时,我们也需要大量的高质量数据。 但是,对于个人,学校团队甚至普通的工程师团队来说,数据的搜集能力都是十分有限的。缺乏大量高质量的训练样本,便难以训练处一个具有很好泛化能力的模型。因此,我们就需要一些数据集扩充的方法,即我们常说的 数据增强 。 数据增强的概述 对于图像处理的场景,数据增强自然是对图片而言。数据增强就是指对图片数据进行变换、修改,使其变成新的图片数据,从而扩充我们的图片数据集。 图片数据增强的方法主要包括以下几个: 随机裁剪 颜色改变 水平或竖直翻转 随机改变大小 加入噪声 对图片进行仿射变换 通过使用数据增强的方法来实现数据集的扩充,可以使训练后的模型具有更好的 鲁棒性 ,尤其是对噪声的抵抗能力得到强化,进而提高训练后模型的 泛化能力 。 鲁棒性: 1.模型具有较高的精度或有效性,这也是对于机器学习中所有学习模型的基本要求; 2.对于模型假设出现的较小偏差,只能对算法性能产生较小的影响; 主要是:噪声(noise) 3.对于模型假设出现的较大偏差,不可对算法性能产生“灾难性”的影响;主要是:离群点(outlier) 泛化能力 在机器学习方法中