浮点数

浮点数转换为整数

青春壹個敷衍的年華 提交于 2019-12-03 22:38:57
函数cvRound,cvFloor,cvCeil 都是用一种舍入的方法将输入浮点数转换成整数: cvRound 返回跟参数最接近的整数值; cvFloor 返回不大于参数的最大整数值; cvCeil 返回不小于参数的最小整数值。 来源: https://www.cnblogs.com/hsy1941/p/11809938.html

一文详解 Java 的八大基本类型!

北战南征 提交于 2019-12-03 13:21:00
自从Java发布以来,基本数据类型就是Java语言中重要的一部分,本文就来详细介绍下每种基本类型的具体使用方法和限制。 以下为译文: 几年前,我开始编写了一系列有关Java入门的文章,我觉得有必要将其中一些非常细节的内容单独拿出来写成文章。这样,那些入门内容就更容易理解了。首先,我来介绍一下有关Java 8中的基本类型。 如题所述,Java语言本身有8种基本类型。在下面几节中,就让我们一起来看看这8种基本类型。我将针对每种基本类型,介绍具体的使用方法和限制。 一、int基本类型 首先,Java的整数是32位有符号(即包括正值和负值)整数,由int关键字表示: int someNumber = 10; 当然,像所有基本类型一样,整型有自己的限制。由于它只有32位,所以其取值范围为-2147483648到2147483647。这数字很大嘛!当然,我们可以在DrJava的交互面板中用下述技巧来确认: Integer.MAX_VALUE // Prints 2,147,483,647Integer.MIN_VALUE // Prints -2,147,483,648 自然地,对于简单的计算而言,int是最常用的整数类型。如果你需要更大的数字范围,请参照下面的long。 二、double基本类型 与int不同,Java的双精度类型是64位浮点数,由double关键字表示: double

实验作业

一曲冷凌霜 提交于 2019-12-03 13:16:43
#include <stdio.h> int main() { int x=1234; float f=123.456; double m=123.456; char ch='a'; char a[]="Hello, world!"; // 定义一个数组a,数组中连续存放了字符串常量hello,world! int y=3, z=4; printf("%d %d\n", y, z); /*%d为十进制整数输出,与赋给的值相同*/ printf("y=%d, z=%d\n", y,z); /*%d为十进制整数输出,与赋给的值相同,并且设定了y=、z=这些固定的符号*/ printf("%8d,%2d\n", x,x); /*%8d为 宽度为8的整数输出,所以前面空四位,%2d为3宽度整数输出,但实际宽度超过,按照原数据输出*/ printf("%f, %8f, %8.1f, %0.2f, %.2e\n",f,f,f,f,f); /*%f为按浮点数输出,%8f为宽度为8的浮点数输出,%8.1d为宽度为8,如果采用double输出,则会避免末尾加1的问题,精度为2的浮点数输出,采用四舍五入的规则,%0.2f为精度为2的浮点数输出,也是四舍五入制度,%。2e为指数形式输出,精度为2 */ printf("%lf\n",m); /*lf为长双精度浮点数输出*/ printf("%3c\n",

CSAPP 第2章 练习题2.1~2.6

北城余情 提交于 2019-12-03 13:15:02
练习题2.1 完成下面的数字转换: A. 将0x39A7F8转换位二进制 B. 将二进制1100100101111011转换为十六进制 C. 将0xD5E4C转换二进制 D. 将二进制1001101110011110110101转换为十六进制 解: A. 0011-1001-1010-0111-1111-1000 B. 0xC97B C. 1101-0101-1110-0100-1100 D. 0x26E7B5 练习题2.2 填写下表中的空白项,给出2的不同次幂的二进制和十六进制表示: 解 练习题2.3 一个字节可以用两个十六进制数来表示。填写下表中缺失的项,给出不同字节模式的十进制,二进制和十六进制值: 解: 练习题2.4 不将数字转换为十进制或者二进制,试着解答下面的算术题,答案要用十六进制表示。 A. 0x503C + 0x8 = ______________ B. 0x503C - 0x40 = ______________ C. 0x503C + 64 = ______________ D. 0x50EA - 0x503C = ____________ 解: A. 0x5044 B. 0x4F9C C. 0x507C D. 0xAF 练习题2.5 思考下面对show_bytes的三次调用: int val = 0x87654321; byte_pointer valp =

Python数据类型详解

随声附和 提交于 2019-12-03 09:10:10
Python数据类型详解 python的数据类型有: 整数 浮点数 字符串 布尔值 列表 元组 字典 集合 空值 1、整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。 2、浮点数 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。 整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。 3、数字操作 3.1 数字类型转换 int(x [,base]) 将x转换为一个整数 float(x ) 将x转换到一个浮点数 complex(real [,imag]) 创建一个复数 str(x) 将对象x转换为字符串 repr(x)

原 深入java 定义正则表达式

易管家 提交于 2019-12-03 09:08:58
本文分为3大部分 正则表达式的通用定义规则 正则表达式定义的例子 附加常用的匹配例子 正则表达式的通用定义规则 使用正则表达式我们只要关心一个类即可: java.util.regex.Pattern 摘抄自官方API文档。 指定为字符串的正则表达式必须首先被编译为此类的实例。然后,可将得到的模式用于创建 Matcher 对象,依照正则表达式,该对象可以与任意字符序列匹配。执行匹配所涉及的所有状态都驻留在匹配器中,所以多个匹配器可以共享同一模式。 因此,典型的调用顺序是 Pattern p = Pattern.compile(“a*b”); Matcher m = p.matcher(“aaaaab”); boolean b = m.matches(); 在仅使用一次正则表达式时,可以方便地通过此类定义 matches 方法。此方法编译表达式并在单个调用中将输入序列与其匹配。 语句 boolean b = Pattern.matches(“a*b”, “aaaaab”); 等效于上面的三个语句,尽管对于重复的匹配而言它效率不高,因为它不允许重用已编译的模式。 此类的实例是不可变的,可供多个并发线程安全使用。Matcher 类的实例用于此目的则不安全。 匹配器和分组上一篇文章已经详细的说明了,这篇文章就不继续介绍,直接介绍规则和例子。 正则表达式主要用于模式匹配

常用的正则表达式

旧巷老猫 提交于 2019-12-03 08:42:59
常用的正则表达式 非负整数:^\d+$ 正整数:^[0-9]*[1-9][0-9]*$ 非正整数:^((-\d+)|(0+))$ 负整数:^-[0-9]*[1-9][0-9]*$ 整数:^-?\d+$ 非负浮点数:^\d+(\.\d+)?$ 正浮点数 : ^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)$ 非正浮点数:^((-\d+\.\d+)?)|(0+(\.0+)?))$ 负浮点数:^(-((正浮点数正则式)))$ 英文字符串:^[A-Za-z]+$ 英文大写串:^[A-Z]+$ 英文小写串:^[a-z]+$ 英文字符数字串:^[A-Za-z0-9]+$ 英数字加下划线串:^\w+$ E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$ 或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$ 邮政编码:^[1-9]\d{5}$ 中文:^[\u0391-\uFFE5]+$ 电话号码:^((\(\d{2,3}\))|(\d{3}\-))

C中printf函数的用法总结

旧巷老猫 提交于 2019-12-03 07:50:40
函数语法 stdio.h文件中的定义: /* Write formatted output to stdout. */ int printf (const char *__restrict __format, ...) 作用:将格式化好的结果写到标准输出 有两个参数: 第一个参数为字符串类型的指针常量(只读变量),表示需要输出的格式。 第二个参数 "..." 表示被格式化的变量或常量,可为多个值中间用 "," 隔开,每个参数的值应当与前面格式化字符串中的占位符类型和位置一一对应。 返回值为 int 类型,表示输出的字节数 格式语法 %[flags][width][.precision][length]specifier %[标志][宽度][.精度][长度]类型 flags 标志 含义 - 指定被转换的参数在其字段内左对齐(默认为右对齐) + 指定在输出的数前面加上正负号 空格 如果第一个字符不是正负号,则在其前面加上一个空格 0 对于数值转换,当输出长度小于字段宽度时,添加前导0进行填充 # 指定另一种输出形式: 1. 如果转换字符为 o,则第一个数字为 0 2. 如果转换字符为 x 或 X,则指定在输出的非 0 值前加 0x 或 0X 3. 对于转字符为 e, E, f, g, G 的情况,指定输出总是包含一个小数点, 另外对于转换字符为 g 或 G,还指定输出值尾部无意义的 0

CSIC_716_20191102

风格不统一 提交于 2019-12-03 07:43:51
1、与用户交互 python2和python3在与用户交互方面存在差异。 在python3中,使用input( )方法提供用户输入,而在python2中,使用raw_input( )方法,才能实现同样的效果。 在python2中,input( )方法,用户在输入时必须要声明类型。 python3中所有通过input( )接收到的变量值,全部以str字符串类型存储。 2、格式化输出 a)可以使用占位符%s、%f、%d ; %s可以接收任意类型;%d用于接收整数,如果接收浮点数,会去除小数;%f可以接收浮点数和整数,会保留6位小数。 a = 'rampage' b = 100.111 c = 200 print('my name is %s, my age is %f' % (a, b)) # %f 接收浮点数 print('my name is %s, my age is %.3f' % (a, b)) # %.3f 表示浮点数精确到小数点后3位 print('my name is %s, my age is %d' % (a, c)) # %d 接收整数 b) 可以使用 str.format() # a = 'rampage' # b = 100.111111 # print(type(b)) # print('my name is {}, my age is {}'.format