浮点数

常用正则表达式

徘徊边缘 提交于 2019-11-28 19:19:30
正则表达式中有很多上述的具有特别意义的字符。首先是下列字符。 [ ] 范围描述符。[a-z]表示从a到z之间的任意一个。 \w 英文字母和数字。即[0-9 A-Z a-z]。 \W 非英文字母和数字 \s 空字符,即[\t\n\r\f]。 \S 非空字符。 \d 数字,即[0-9]。 \D 非数字。 \b 词边界字符(在范围描述符外部时) \B 非词边界字符 \b 退格符(0x08)(在范围描述符内部时) * 前面元素出现0次以上 + 前面元素出现1次以上 {m,n} 前面元素最少出现m次,最多出现n次 ? 前面元素出现0次或1次 | 选择 ( ) 群组 其他字符 该字符本身 常用正则式 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff] 匹配空行的正则表达式:\n[\s| ]*\r 匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/ 匹配首尾空格的正则表达式:(^\s*)|(\s*$) 匹配IP地址的正则表达式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g // 匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 匹配网址URL的正则表达式: http://(/ [\w-]+\.)+[\w-]+(/[

《程序设计与算法(二)算法基础》《第二周 递归》逆波兰表达式

不羁的心 提交于 2019-11-28 18:50:47
C 库函数 double atof(const char *str) 把参数 str 所指向的字符串转换为一个浮点数(类型为 double 型)。 声明 下面是 atof() 函数的声明。 double atof(const char *str) 参数 str -- 要转换为浮点数的字符串。 返回值 函数返回转换后的双精度浮点数,如果没有执行有效的转换,则返回零(0.0)。 本题中“逆波兰表达式”的定义: 1) 一个数是一个逆波兰表达式,值为该数 2) 运算符 逆波兰表达式 逆波兰表达式 是逆波兰表达 式 值为两个逆波兰表达式的值运算的结果 样例输入 * + 11.0 12.0 + 24.0 35.0 样例输出 1357.000000 提示: :(11.0+12.0)*(24.0+35.0) #include<iostream> #include<cstdio> #include<cstdlib> using namespace std; double exp() { char s[20]; cin >> s; // 流操作符,读完地址偏移 switch (s[0]) { case '+': return exp() + exp(); case '-': return exp() - exp(); case '*': return exp() * exp(); case '/':

串口调试助手

删除回忆录丶 提交于 2019-11-28 17:30:47
每次调试串口的时候都要去网上去找一个串口调试助手。而且普通的调试助手只能显示或者发送一个字符串或者十六进制数。在调试协议的时候经常需要把一些整型数字手工转换十六进数,然后再把十六进制数转换成整型数字非常费劲,要是再碰上浮点数那只有呵呵了。再加上大小端的问题只能直接交枪投降了。 本着自己动手丰衣足食的革命理念,于是乎就有了下面的这个串口调试助手SerialComAssistant,先来看图。 额,好吧!我承认这个串口调试助手是有点过分了。她不只是一个串口调试助手,还是一个socket调试助手支持从TCP到UDP、从单播到广播的全部功能,还支持多客户端连接功能。 她可以满足你对于她的任何想象。 最后给出下载地址 https://pan.baidu.com/s/1ZPVd-cu49BCg-r5dMcy6vg 我觉得我还是要把下面的内容写出来: 串口调试助手转义定义 发送字符串转义定义 字符转义 '\r''\n' '\0' '\\' '\[' '\]' 整数表示 [2|100] 【字节长度 | 十进制整数】 [!2|100] 大端表示 [|1] 默认字节长度为4 [!2|100] 大端表示 [|1] 默认字节长度为4 浮点数表示 [4|1.0] 【字节长度 |浮点数】 [1.0] 默认字节长度为4 [!4|1.0] 大端表示 字节长度 : 2,4,8 二进制数表示 [01 0A]

.Net 避免 float 转 double 丢失精度的办法

假如想象 提交于 2019-11-28 17:05:32
第一部分:float 转 double 丢失精度 类型 精度 位宽 C# 后缀 可以表示的数值范围 .Net 类名 float 7 位 32bit F -3.4 × 10^ 38 ~ +3.4 × 10^ 38 System.Single double 15~16 位 64bit D ±5.0 × 10^ −324 ~ ±1.7 × 10^ 308 System.Double decimal 28~29 位 128bit M (-7.9 x 10^ 28 ~ +7.9 x 10^ 28 ) / (10^ 0 ~ 28 ) System.Decimal 3 种类型,相互间的转换有 6 种: 转换 C# 代码 精度 结果 float 转 double (double) 10.45F 丢失 10.449999809265137D float 转 decimal (decimal) 10.45F 正常 10.45M double 转 float (float) 10.45D 正常 10.45F double 转 decimal (decimal) 10.45D 正常 10.45M decimal 转 float (float) 10.45M 正常 10.45F decimal 转 double (double) 10.45M 正常 10.45D 可以看到只有 float 转 double

Dojo学习6 功能强大的文本框:dijit.form.ValidationTextbox

丶灬走出姿态 提交于 2019-11-28 16:04:25
6. 功能强大的文本框:dijit.form.ValidationTextbox 这个文本输入框的功能比较强大,关键是它能够提供一些常用的验证和大小写转换。下面介绍一个例子和一些常用的属性: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>validationTextbox</title> <style type="text/css"> @import "../js/dojo/resources/dojo.css"; @import "../js/dijit/themes/tundra/tundra.css"; .dijitInputFieldFocused{ border:solid 2px #FFDF00; } </style> <script type="text/javascript" djConfig="parseOnLoad: true, isDebug: true" src="../js/dojo/dojo.js"></script> <script> dojo.require("dijit.form.ValidationTextbox"); dojo.require("dijit.form.NumberTextbox"); <

漫谈计算机组成原理(九)定点数及定点数的运算

痴心易碎 提交于 2019-11-28 16:02:30
本文讲什么? 在计算机中,小数点并没有用专门的器件去表示,而是按照一种约定的方式,统一存储在寄存器单元中的。算数逻辑运算单元(ALU)是CPU的组成部分,负责算数和逻辑的运算。那么,ALU究竟是如何工作的呢? 这就是本文主要探讨的内容: 什么是定点数? 定点数的位移、加、减、乘、除运算是如何进行的? 定点数是啥? 从字面意思来理解,“定点数”就是“点”不动的数。那么究竟是什么“点”不动呢?没错,就是“小数点”。 在上一讲我们说道,不论是整数还是小数,都是有小数点的。 整数的小数点表示在最后一位数字的后面,而小数的小数点标识在真值的符号位后面。 如图所示: 除了定点数,还有一种数叫做“浮点数”,浮点数将在下一讲展开介绍。 定点数的运算 好了,介绍完定点数的基本概念以后,我们展开讲定点数的位移运算和四则运算。定点数的四则运算实际上要比我们想象的复杂的多。 机器并不像人,一眼就知道二二得四,他需要知道2的定点表示形式,然后两个定点数相乘,相乘是有一定的过程的,经过了这个过程,才能得到结果的二进制数,最终输出给我们。 我们要做的,就是了解加减乘除究竟经历了什么样子的过程 。 定点数的位移运算 不要看移位运算简单,但是它在计算机的运算中的地位是举足轻重的。没有移位运算,也就没有后面的乘除法,乘除法就是在移位运算和加减运算的配合下实现的。 移位运算的规则: 虽然正数和负数的移位运算规则不相同

定点数与浮点数区别

与世无争的帅哥 提交于 2019-11-28 16:01:42
最近做HDR时,经常要用NV提供的16位纹理,它的说明书16位能达到24位的精度,就很奇怪?一直搞不懂浮点数的精度怎么算的? 今天认真看了一下IEEE float point的标准,终于明白是什么了 1. 什么是浮点数 在计算机系统的发展过程中,曾经提出过多种方法表达实数。典型的比如相对于浮点数的定点数(Fixed Point Number)。在这种表达方式中,小数点固定的位于实数所有数字中间的某个位置。货币的表达就可以使用这种方式,比如 99.00 或者 00.99 可以用于表达具有四位精度(Precision),小数点后有两位的货币值。由于小数点位置固定,所以可以直接用四位数值来表达相应的数值。SQL 中的 NUMBER 数据类型就是利用定点数来定义的。还有一种提议的表达方式为有理数表达方式,即用两个整数的比值来表达实数。 定点数表达法的缺点在于其形式过于僵硬,固定的小数点位置决定了固定位数的整数部分和小数部分,不利于同时表达特别大的数或者特别小的数。最终,绝大多数现代的计算机系统采纳了所谓的浮点数表达方式。这种表达方式利用科学计数法来表达实数,即用一个尾数(Mantissa ),一个基数(Base),一个指数(Exponent)以及一个表示正负的符号来表达实数。比如 123.45 用十进制科学计数法可以表达为 1.2345 × 102 ,其中 1.2345 为尾数,10

定点数

梦想的初衷 提交于 2019-11-28 16:01:29
计算机中常用的数据表示格式有两种,一是定点格式,二是浮点格式。所谓定点数和浮点数,是指在计算机中一个数的小数点的位置是固定的还是浮动的:如果一个数中小数点的位置是固定的,则为定点数;如果一个数中小数点的位置是浮动的,则为浮点数。一般来说,定点格式可表示的数值的范围有限,但要求的处理硬件比较简单。而浮点格式可表示的数值的范围很大,但要求的处理硬件比较复杂。 采用定点数表示法的计算机称为定点计算机,采用浮点数表示法的计算机称为浮点计算机。定点机在使用上不够方便,但其构造简单,造价低,一般微型机和单片机大多采用定点数的表示方法。浮点机可表示的数的范围比定点机大得多,使用也比较方便,但是比定点机复杂,造价高,在相同的条件下浮点运算比定点运算速度慢。目前,一般大、中型计算机及高档微型机都采用浮点表示法,或同时具有定点和浮点两种表示方法。 所谓定点格式,即约定机器中所有数据的小数点位置是固定不变的。通常将定点数据表示成纯小数或纯整数。为了将数表示成纯小数,通常把小数点固定在数值部分的最高位之前;而为了把数表示成纯整数,则把小数点固定在数值部分的最后面,如图2-1所示。 图中所标示的小数点“.”,在机器中是不表示出来的,而是事先约定在固定的位置。对于一台计算机,一旦确定了小数点的位置就不再改变。 对纯小数进行运算时,要用适当的比例因子进行折算,以免产生溢出,或过多损失精度。

part2:Python 变量及简单类型,print 函数介绍,Python 关键字、内置函数介绍

杀马特。学长 韩版系。学妹 提交于 2019-11-28 13:12:30
Python是弱类型语言,关于弱类型有两个含义:(1)、所有的变量无须声明即可使用,或者说对从末用过的变量赋值就是声明了该变量;(2)、变量的数据类型可以随时改变,同一个变量可以进行多次赋值,可以赋数值型和字符串型值。一、 单行注释和多行注释注释可提高程序可读性,用于解释某行或某部分程序的作用和功能。此外注释也是调试程序的重要方式,在调试时可将不希望编译、执行的代码注释掉。注释还可以为别人或自己过一段时间后能读懂代码的目的提供帮助。合理的代码注释占源代码 1/3 左右。Python语言不能在标识符和字符串中间插入注释,除此之外,可以在其他任何地方插入空字符或注释,例如一行代码的末尾。Python中的注释有两种形式:单行注释和多行注释。(1)、单行注释以 # 号开始,直到本行的末尾都是注释。单行注释可以在一行的起始位置,也可在一行代码的末尾处,还可用于注释掉源代码。在一行中 # 号后面的代码都将被解释器忽略。(2)、多行注释可以换行,可以注释掉多行代码。多行注释使用成对的三个单引号或三个双引号。Python源代码中的注释信息,主要是对代码的作用做一些说明,向人提供一些说明信息,解释器会忽略注释的内容。添加注释是调试程序的重要方法,在调试程序时,可将源代码中的某行或某几行注释或者取消注释后,再次运行源程序,可缩小错误发生的范围,有利于排错。二、 变量变量是用来保存程序中的数据

RV32FDQ/RV64RDQ指令集(2)

落花浮王杯 提交于 2019-11-28 12:52:38
下面我们逐个看下每个指令的细节: fadd.s fadd.s rd, rs1, rs2 //f [rd] = f [rs1] + f [rs2] 单精度浮点加(Floating-point Add, Single-Precision). R-type, RV32F and RV64F. 把寄存器 f[rs1]和 f[rs2]中的单精度浮点数相加,并将舍入后的和写入 f[rd]。 示例: to do fsub.s fsub.s rd, rs1, rs2 //f[rd] = f[rs1] - f[rs2] 单精度浮点减(Floating-point Subtract, Single-Precision). R-type, RV32F and RV64F. 把寄存器 f[rs1]和 f[rs2]中的单精度浮点数相减,并将舍入后的差写入 f[rd]。 示例: to do fmul.s fmul.s rd, rs1, rs2 //f[rd] = f[rs1] × f[rs2] 单精度浮点乘(Floating-point Multiply, Single-Precision). R-type, RV32F and RV64F. 把寄存器 f[rs1]和 f[rs2]中的单精度浮点数相乘,将舍入后的单精度结果写入 f[rd]中。 示例: to do fdiv.s fdiv.s rd, rs1,