浮点数

【Python学习之路】数字

风流意气都作罢 提交于 2019-12-15 21:35:54
数字 整型 Integers 整型运算,加减乘: 2 + 2 4 3 - 4 -1 4 * 5 20 在 Python 2.7 中,整型的运算结果只能返回整型, 除法 的结果也不例外。 例如 12 / 5 返回的结果并不是2.4,而是2: 12 / 5 2 幂指数: 2 ** 5 32 取余: 32 % 5 2 赋值给变量: a = 1 a 1 使用 type() 函数来查看变量类型: type ( a ) int 整型数字的最大最小值: 在 32 位系统中,一个整型 4 个字节,最小值 -2,147,483,648 ,最大值 2,147,483,647 。 在 64 位系统中,一个整型 8 个字节,最小值 -9,223,372,036,854,775,808 ,最大值 9,223,372,036,854,775,807 。 import sys sys . maxint 2147483647 长整型 Long Integers 当整型超出范围时, Python 会自动将整型转化为长整型,不过长整型计算速度会比整型慢。 a = sys . maxint + 1 print type ( a ) <type 'long'> 长整型的一个标志是后面以字母L结尾: a 2147483648L 可以在赋值时强制让类型为长整型: b = 1234L type ( b ) long

正则表达式

五迷三道 提交于 2019-12-15 21:13:38
校验数字的表达式 数字:^[0-9]*$ n位的数字:^d{n}$ 至少n位的数字:^d{n,}$ m-n位的数字:^d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 带1-2位小数的正数或负数:^(-)?d+(.d{1,2})?$ 正数、负数、和小数:^(-|+)?d+(.d+)?$ 有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 非零的正整数:^[1-9]d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^+?[1-9][0-9]*$ 非零的负整数:^-[1-9][]0-9″*$ 或 ^-[1-9]d*$ 非负整数:^d+$ 或 ^[1-9]d*|0$ 非正整数:^-[1-9]d*|0$ 或 ^((-d+)|(0+))$ 非负浮点数:^d+(.d+)?$ 或 ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$ 非正浮点数:^((-d+(.d+)?)|(0+(.0+)?))$ 或 ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$ 正浮点数:^[1-9]d*.d*|0.d*[1-9]d*$ 或 ^(([0-9]+.[0-9]*[1-9]

OpenGL ES入门之顶点缓冲区对象相关

天大地大妈咪最大 提交于 2019-12-15 04:03:20
顶点属性的概念、如何指定它们和它们支持的数据格式、如何绑定顶点属性以用于顶点着色器、在OpenGL ES 3.0中用顶点属性绘制图元的方法 顶点属性 顶点属性:顶点数据,指定每个顶点的数据,这种逐顶点可以为每个顶点指定,也可用于所有顶点的常量,例如一个纯色三角形具有固定颜色的顶点和逐顶点位置属性。 所有OpenGL ES 3.0实现必须支持最少16个顶点属性,可以通过 glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, maxVertexAttribs, 0); 查询支持的顶点属性数量 常量顶点属性:对于一个图元的所有顶点只需指定一个值,glVertexAttrib*命令用于加载index(通用顶点属性索引)指定的顶点属性 顶底数组指定每个顶点的属性,是保存在应用程序地址空间的缓冲区,是顶点缓冲对象的基础,提供指定顶点属性数据的一种高效灵活的手段,顶点数组常使用glVertexAttribPointer函数指定,对于该函数最后一个参数,如果使用的顶点数组保存顶点数据,则存放顶点数组名,如果使用顶点缓冲区对象,则存放该缓冲区内的偏移量;对于使用glVertexAttribPointer函数指定顶点数组的程序,需在调用glDraw 方法前,对属性调用glEnableVertexAttribArray()方法进行使能启用,同时调用glDraw

正则表达式

自闭症网瘾萝莉.ら 提交于 2019-12-15 03:17:11
转载至: https://www.cnblogs.com/xcsn/p/4677605.html  有侵权联系删除 不包含:^((?!.*(摩托车|汽车)).)*$ 匹配中文字符的正则表达式: [u4e00-u9fa5]   评注:匹配中文还真是个头疼的事,有了这个表达式就好办了   匹配双字节字符(包括汉字在内):[^x00-xff]   评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)   匹配空白行的正则表达式:ns*r   评注:可以用来删除空白行   匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?|<.*? />   评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力   匹配首尾空白字符的正则表达式:^s*|s*$   评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式   匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*   评注:表单验证时很实用   匹配网址URL的正则表达式:^(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?$   评注:网上流传的版本功能很有限

Java 的八大基本类型

孤人 提交于 2019-12-14 20:34:09
Java语言本身有8种基本类型。在下面几节中,就让我们一起来看看这8种基本类型。我将针对每种基本类型,介绍具体的使用方法和限制。 一、int基本类型 首先,Java的整数是32位有符号(即包括正值和负值)整数,由int关键字表示: int someNumber = 10; 当然,像所有基本类型一样,整型有自己的限制。由于它只有32位,所以其取值范围为-2147483648到2147483647。这数字很大嘛!当然,我们可以在DrJava的交互面板中用下述技巧来确认: Integer.MAX_VALUE // Prints 2,147,483,647 Integer.MIN_VALUE // Prints -2,147,483,648 自然地,对于简单的计算而言,int是最常用的整数类型。如果你需要更大的数字范围,请参照下面的long。 二、double基本类型 与int不同,Java的双精度类型是64位浮点数,由double关键字表示: double someNumber = 110.55; 需要提醒的是,浮点数实际上就是实数。换句话说,双精度浮点数中包含小数点。 由于双精度类型是64位,它能表示的数字要比整型多很多。同样,我们可以利用交互面板来确认双精度类型的范围: Double.MAX_VALUE // Prints 1.7976931348623157E308 Double

Python学习笔记4

空扰寡人 提交于 2019-12-14 01:41:58
格式化输出字符串 格式化输出字符串主要有两种方式, 1、使用%的字符串输出格式 格式化的输出形式是:字符串%数据 字符串中数据转换格式如下表: %s 字符串 %d 十进制整数 %x 十六进制整数 %o 八进制整数 %f 十进制浮点数 %e 以科学计数法表示的浮点数 %g 十进制或者科学计数法表示的浮点数 可以对比以下方式使用: #%[域宽.字符宽度]s #域宽为正是右对齐,为负是左对齐 >> > "Student's name:%10.4s Math score:%10.4f English:%10d" % ( 'Tom' , 63.2 , 100 ) "Student's name: Tom Math score: 63.2000 English: 100" >> > "Student's name:%-10.4s Math score:%-10.4f English:%-10d" % ( 'Tom' , 63.2 , 100 ) "Student's name:Tom Math score:63.2000 English:100 " 2、使用{}和fomate的新式格式化字符串 最简单的使用方法是: >> > 'No.{} No.{} No.{}' . format ( 1 , 2 , 3 ) 'No.1 No.2 No.3' 可以按指定顺序输出,0代表第一个参数

lua的string库函数总结

血红的双手。 提交于 2019-12-13 01:12:21
Lua解释器对字符串的支持很有限。一个程序可以创建字符串并连接字符串,但不能截取子串,检查字符串的大小,检测字符串的内容。在Lua中操纵字符串的功能基本来自于string库。 字符串库中的一些函数是非常简单的: string.len(s) 返回字符串s的长度; string.rep(s, n) 返回重复n次字符串s的串;你使用string.rep("a", 2^20)可以创建一个1M bytes的字符串(比如,为了测试需要); string.lower(s) 将s中的大写字母转换成小写(string.upper将小写转换成大写)。如果你想不关心大小写对一个数组进行排序的话,你可以这样: string.upper(s) 将s中的小写字母转换成大写 string.upper和string.lower都依赖于本地环境变量。所以,如果你在 European Latin-1环境下,表达式: string.sub(s,i,j) 函数截取字符串s的从第i个字符到第j个字符之间的串。Lua中,字符串的第一个字符索引从1开始。你也可以使用负索引,负索引从字符串的结尾向前计数:-1指向最后一个字符,-2指向倒数第二个,以此类推。所以, string.sub(s, 1, j)返回字符串s的长度为j的前缀;string.sub(s, j, -1)返回从第j个字符开始的后缀。如果不提供第3个参数,默认为-1

混合类型数据格式化输入

本秂侑毒 提交于 2019-12-11 17:57:56
本题要求编写程序,顺序读入浮点数1、整数、字符、浮点数2,再按照字符、整数、浮点数1、浮点数2的顺序输出。 输入格式:输入在一行中顺序给出浮点数1、整数、字符、浮点数2,其间以1个空格分隔。 输出格式:在一行中按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。 # include <stdio.h> int main ( void ) { double a ; int b ; char c ; double d ; scanf ( "%lf %d %c %lf" , & a , & b , & c , & d ) ; printf ( "%c %d %.2f %.2f" , c , b , a , d ) ; return 0 ; } 来源: CSDN 作者: 星星点点1028 链接: https://blog.csdn.net/xxxxxwxx/article/details/103488021

两个float 类型数据比较大小

北战南征 提交于 2019-12-11 15:53:57
float 类型不能比较相等或不等,但可以比较>,<,>=,<= 用==从语法上说没错,但是本来应该相等的两个浮点数由于计算机内部表示的原因可能略有微小的误差,这时用==就会认为它们不等。应该使用两个浮点数之间的差异的绝对值小于某个可以接受的值来判断判断它们是否相等,比如用 if (fabs(price - p) < 0.000001) 来代替 if (price == p) 很多工程的应用都是采用计算精确度的方式 定义一个精度,用差的绝对值比较,在精度范围内就认为是相等的;大小可以直接比较。 来源: CSDN 作者: pingxiaozhao 链接: https://blog.csdn.net/pingxiaozhao/article/details/103492323

数的三次方根

女生的网名这么多〃 提交于 2019-12-11 04:35:41
给定一个浮点数n,求它的三次方根。 输入格式 共一行,包含一个浮点数n。 输出格式 共一行,包含一个浮点数,表示问题的解。 注意,结果保留6位小数。 数据范围 − 10000 ≤ n ≤ 10000 −10000≤n≤10000 − 1 0 0 0 0 ≤ n ≤ 1 0 0 0 0 输入样例: 1000.00 输出样例 : 10.000000 # include <iostream> # include <cstdio> using namespace std ; int main ( ) { double x ; cin >> x ; double l = - 1000 , r = 1000 ; while ( r - l > 1e-8 ) { double mid = ( l + r ) / 2 ; if ( mid * mid * mid >= x ) { r = mid ; } else { l = mid ; } } printf ( "%lf\n" , l ) ; return 0 ; } 来源: CSDN 作者: qq_52051345 链接: https://blog.csdn.net/qq_43469554/article/details/103465413