浮点

RV32FDQ/RV64RDQ指令集(1)

大憨熊 提交于 2019-11-28 12:13:55
Risc-V架构定义了可选的单精度浮点指令(F扩展指令集)和双精度浮点指令(D扩展指令集)。 Risc-V架构规定: 处理器可以选择只实现F扩展指令子集而不支持D扩展指令子集;但是如果支持了D扩展指令子集,则必须支持F扩展指令子集。 Risc-V架构规定的浮点数符合IEEE754 2008规则,可以从下面的链接了解浮点数格式的详细信息: https://www.cnblogs.com/german-iris/p/5759557.html Risc-V规定,如果支持单精度浮点指令或者双精度浮点指令,则需要增加一组独立的通用浮点寄存器组,包括32个通用浮点寄存器,标号位f0到f31。如果仅支持F扩展指令子集,则每个通用寄存器是32位的,如果支持D扩展那指令子集,则每个通用寄存器是64位的。 Risc-V架构规定,如果支持单精度浮点指令或者双精度浮点指令,需要增加一个浮点控制状态寄存器fcsr,该寄存器是一个可读可写的csr寄存器。 fcsr寄存器包含浮点异常标志域(fflags),不同的标志位表示不同的异常类型。如果浮点运算单元在运算中出现了相应的异常,则会将fcsr寄存器中对应的标志位设置为1,且会一直保持累积。软件可以通过写0的方式单独清除某个异常标志位。 根据IEEE-754标准,浮点运算需要指定舍入模式(rounding mode),Risc

浮点与定点的二进制存储

泪湿孤枕 提交于 2019-11-28 11:04:40
1、浮点数和定点数存储 https://blog.csdn.net/niaolianjiulin/article/details/82764511 2、浮点转定点 本篇主要介绍另外一种浮点转定点的方式,并结合neon代码进行介绍(上面的浮点定点基础最好先看,大佬忽略) static inline uint32_t fp32_to_bits(float f) { union { float as_value; uint32_t as_bits; } fp32 = { f }; return fp32.as_bits; } int main() { int32_t value[4] = {234,536,382,430}; int32x4_t vacc0x0123 = vld1q_s32(value); float scale = 0.05434; const uint32_t scale_bits = fp32_to_bits(scale); /* Multiplier is in [0x40000000, 0x7FFFFF80] range */ int32_t multiplier = (int32_t)(((scale_bits & UINT32_C(0x007FFFFF)) | UINT32_C(0x00800000))<<7 ); assert(multiplier >=

MySQL数据库---表的操作

丶灬走出姿态 提交于 2019-11-28 10:23:05
存储引擎   表就是文件,表的存储引擎就是文件的存储格式,即数据的组织存储方式。 字段类型 1.整数类型 整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT 作用:存储年龄,等级,id,各种号码等 表示范围:BIGINT(8字节) > INT(4字节) > MEDIUMINT(3字节) > SMALLINT(2字节) > TINYINT(1字节) 符号:默认整型是有符号的,使用unsigned就表示无符号 注意:创建表时指定的字段宽度,对整型数据无效,表示的是数据的显示宽度 2.浮点型 浮点类型:FLOAT DOUBLE 定点数类型:DEC等同于DECIMAL 作用:存储薪资、身高、体重、体质参数等 符号:默认浮点型是有符号的,使用unsigned就表示无符号 精度:DOUBLE > FLOAT 3.日期类型 日期类型:DATE TIME DATETIME TIMESTAMP YEAR 作用:存储用户注册时间,文章发布时间,员工入职时间,出生时间,过期时间等 表的操作 1.创建表 2.查看表 3.修改表 4.复制表 5.删除表 来源: https://www.cnblogs.com/chusiyong/p/11404689.html

python 之matplotlib.plot

為{幸葍}努か 提交于 2019-11-28 09:02:31
Plot函数: plot()的参数: plot(*args,**kwargs) ,其中args为x,y以及绘图线的颜色和类型。 matplotlib.lines.Line2D ¶ class matplotlib.lines. Line2D ( xdata , ydata , linewidth = None , linestyle = None , color = None , marker = None , markersize = None , markeredgewidth = None , markeredgecolor = None , markerfacecolor = None , markerfacecoloralt ='none' , fillstyle = None , antialiased =无 , dash_capstyle =无 , solid_capstyle =无 , dash_joinstyle =无 , solid_joinstyle =无 , pickradius = 5 , drawstyle =无 , markevery =无 , ** kwargs ) Line2D 用 序列 xdata , ydata中的 x 和 y 数据 创建一个 实例 。 kwargs Line2D 属性: 属性 描述 agg_filter 一个过滤函数,它采用

FFT算法的一种FPGA实现

邮差的信 提交于 2019-11-28 02:38:08
http://hi.baidu.com/hieda/blog/item/6afab113b8985127dc540179.html 1 引言   OFDM(正交频分复用)是一种多载波数字调制技术,被公认为是一种实现高速双向无线数据通信的良好方法。在OFDM系统中,各子载波上数据的调制和解调是采用FFT(快速傅里叶变换)算法来实现的。因此在OFDM系统中,FFT的实现方案是一个关键因素。其运算精度和速度必须能够达到系统指标。对于一个有512个子载波,子载波带宽20 kHz的OFDM系统中,要求在50 μs内完成512点的FFT运算。   硬件实现FFT算法的主要方案有:DSP(通用数字信号处理器);FFT专用芯片;FPGA(现场可编程门阵列)。DSP具有纯软件实现的灵活性,适合用于流程复杂的算法,例如在通信系统中的信道编、解码,QAM映射等算法。如果在DSP中完成FFT运算,不仅要占用大量D SP的运算时间,使整个系统的数据吞吐率降低,也无法发挥DSP软件实现的灵活性。因此,前端的FFT运算应由ASIC或FPGA完成。采用专用的FFT处理芯片,虽然速度能达到要求,但其可扩展性差。FPGA具有硬件结构可重构的特点。适合于算法结构固定、运算量大的前端数字信号处理。新近推出的FPGA产品都采用多层布线结构,更低的核心电压,更丰富的IO管脚,容量可达到100 k个逻辑单元(LES)

浮点型数据精确计算

﹥>﹥吖頭↗ 提交于 2019-11-28 00:15:37
** * 参考:https://www.jianshu.com/p/c3c6cf0dce66 * @author zls * @date 2019/8/20 */ public class ComputedDemo { public static void main(String[] args) { // JAVA的double型数据不能进行精确计算 double n = 1.01 + 2.13; System.out.println("n = " + n); // n = 3.1399999999999997 // double型数值在整数部分超过7位时就自动转化为科学记数法表示。 System.out.println(12345678.0); // 1.2345678E7 /** * 浮点型数据运算: * BigDecimal是用来精确计算的 * 缺点:使用BigDecimal的坏处是性能比double和float差,在处理庞大,复杂的运算时尤为明显,因根据实际需求决定使用哪种类型。 */ BigDecimal x = new BigDecimal("2"); // BigDecimal x = BigDecimal.valueOf(2); BigDecimal y = new BigDecimal("3"); BigDecimal z = x.add(y); System

严格模式 浮点型 字符类型 日期类型

蓝咒 提交于 2019-11-27 22:08:42
严格模式 char() 宽度默认为1 添加数据的时候他会自动截取1位来 存 (能尽量少干活就少干活 )   还有一种情况就是 他会自动报错 我们应该给他报错 模糊匹配   查看 严格模式 show variables like"%mode%"; 只要是带mode的都给我查出来   %匹配任意多个字符    _匹配任意一个字符     两种方式     set session 临时有效 只在你当前操作窗口有效     set session sql_mode='STRICT_TRANS_TABLES';     set global 全局有效 终身有效       set global sql_mode='STRICT_TRANS_TABL ES' 设置完之后需要退出客户端 从新进入 浮点型 浮点型 float(255,30) 总共255位 小数部分占30位 double(255,30) 总共255位 小数部分占30位 decimal(65,30) 总共65位 小数部分占30位 create table t12(id FLOAT (255,30)); create table t13(id DOUBLE (255,30)); create table t14(id DECIMAL (65,30)); insert into t12 values(1

09.java语言基础-小数类型(float-double)

你。 提交于 2019-11-27 20:13:24
/* 小数类型(float-double) float,double 类型 表示小数类型又称为浮点类型,其中float 表示单精度类型,double表示双精度类型,但是二者都不能表示精度的小数 java 的浮点类型常量有两种表示形式 十进制形式:例如:3.14,168.0,618 科学计数法形式:例如:3.14e2,3.14E2,1000E-2 科学计数法表示返回的结果是double 类型 默认情况下:一个浮点类型的字面量默认是double 类型,若要声明一个常量为float型,则需在常量后加上f或者F, double 常量后面的D 或者d可以忽视 注意:java 里只有浮点型的变量才可以接受科学计算式的结果 因为float 和 double 都不能精确到小数,那么在精度要求高的系统比如在银行系统中,那怎么表示精确的小数呢 后面我们会讲BigDecimal 类型,它表示任意精度的数据*/ 来源: CSDN 作者: Kevin0306 链接: https://blog.csdn.net/Kevin0306/article/details/72900392

词法语法分析器EDG C++

老子叫甜甜 提交于 2019-11-27 12:37:41
EDG C++简介 EDG C++前端(front end)于1992年首次发布,支持ISO/IEC 14882:2003的C++。通过调整命令行参数,前端还可以支持ANSI/ISO C(包括C89和C99以及Embedded C TR)、Microsoft C/C++、GNU C/C++、Sun C++、C++的cfront 2.1和3.0.n版本方言、以及K&R/pcc C等方言。 前端执行包括全部错误检查(error checking)在内的完整的语法和语义分析,可以形成大约2100个不同的错误诊断,它们出现在源代码行中,并以“^”号指示精确的错误位置。诊断形成的程度可以通过多种方式控制。 对源代码中的字符串、标识符、注释和文件名字,前端能够识别国际字符集,包括多字节字符和多种Unicode编码。前端做出的诊断可以收进错误消息目录中,后者可轻易转译为其他语言。 前端把源程序翻译为高层的、带有树结构的、驻留于内存的中间语言,它保留了大量的源信息(如代码行号、列号、原始类型、原始名称),有助于产生符号化的调试信息。源程序中的隐式和重载操作在中间语言中变成显式操作,也没有对结构进行添加、删除或重排序的工作。中间语言不是机器依赖的(如,不指定寄存器,也不描述栈的布局)。前端还可选择性地产生原始的交叉索引,这可作为源程序浏览工具的基础。 前端集成了一个预处理器

数据类型

心不动则不痛 提交于 2019-11-27 11:56:08
Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) Python3 的六个标准数据类型中: 不可变数据(3 个): Number(数字)、String(字符串)、Tuple(元组); 可变数据(3 个): List(列表)、Dictionary(字典)、Set(集合)。 一、Python中的数据类型有数字、字符串,列表、元组、字典、集合等。有两种方法判断一个变量的数据类型 1、isinstance(变量名,类型) 2、通过与其他已知类型的常量进行对比 java 8种基本数据 类型 byte char short int long float double boolean 3种复杂 数据类型 接口,类, 数组 基本类型 byte :Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short :短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0 int :整型,用于存储整数,在内在中占32位,即4个字节,取值范围-2147483648~2147483647,默认值0 long :长整型,在内存中占64位,即8个字节-2^63~2^63-1,默认值0L float :浮点型