虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

算术<b>逻辑运算</b>

  • crc任意位生成多项式 任意位运算 自适应算法 循环冗余校验码(CRC

    crc任意位生成多项式 任意位运算 自适应算法 循环冗余校验码(CRC,Cyclic Redundancy Code)是采用多项式的 编码方式,这种方法把要发送的数据看成是一个多项式的系数 ,数据为bn-1bn-2…b1b0 (其中为0或1),则其对应的多项式为: bn-1Xn-1+bn-2Xn-2+…+b1X+b0 例如:数据“10010101”可以写为多项式 X7+X4+X2+1。 循环冗余校验CRC 循环冗余校验方法的原理如下: (1) 设要发送的数据对应的多项式为P(x)。 (2) 发送方和接收方约定一个生成多项式G(x),设该生成多项式 的最高次幂为r。 (3) 在数据块的末尾添加r个0,则其相对应的多项式为M(x)=XrP(x) 。(左移r位) (4) 用M(x)除以G(x),获得商Q(x)和余式R(x),则 M(x)=Q(x) ×G(x)+R(x)。 (5) 令T(x)=M(x)+R(x),采用模2运算,T(x)所对应的数据是在原数 据块的末尾加上余式所对应的数据得到的。 (6) 发送T(x)所对应的数据。 (7) 设接收端接收到的数据对应的多项式为T’(x),将T’(x)除以G(x) ,若余式为0,则认为没有错误,否则认为有错

    标签: crc CRC 多项式 位运算

    上传时间: 2014-01-16

    上传用户:hphh

  • 1.有三根杆子A,B,C。A杆上有若干碟子 2.每次移动一块碟子,小的只能叠在大的上面 3.把所有碟子从A杆全部移到C杆上 经过研究发现

    1.有三根杆子A,B,C。A杆上有若干碟子 2.每次移动一块碟子,小的只能叠在大的上面 3.把所有碟子从A杆全部移到C杆上 经过研究发现,汉诺塔的破解很简单,就是按照移动规则向一个方向移动金片: 如3阶汉诺塔的移动:A→C,A→B,C→B,A→C,B→A,B→C,A→C 此外,汉诺塔问题也是程序设计中的经典递归问题

    标签: 移动 发现

    上传时间: 2016-07-25

    上传用户:gxrui1991

  • 溫度華氏轉變攝氏 #include <stdio.h> #include <stdlib.h> enum x {A,B,C,D,E} int main(void)

    溫度華氏轉變攝氏 #include <stdio.h> #include <stdlib.h> enum x {A,B,C,D,E} int main(void) { int a=73,b=85,c=66 { if (a>=90) printf("a=A等級!!\n") else if (a>=80) printf("73分=B等級!!\n") else if (a>=70) printf("73分=C等級!!\n") else if (a>=60) printf("73分=D等級!!\n") else if (a<60) printf("73分=E等級!!\n") } { if (b>=90) printf("b=A等級!!\n") else if (b>=80) printf("85分=B等級!!\n") else if (b>=70) printf("85分=C等級!!\n") else if (b>=60) printf("85分=D等級!!\n") else if (b<60) printf("85分=E等級!!\n") } { if (c>=90) printf("c=A等級!!\n") else if (c>=80) printf("66分=B等級!!\n") else if (c>=70) printf("66分=C等級!!\n") else if (c>=60) printf("66分=D等級!!\n") else if (c<60) printf("66分=E等級!!\n") } system("pause") return 0 }

    标签: include stdlib stdio gt

    上传时间: 2014-11-10

    上传用户:wpwpwlxwlx

  • 溫度華氏轉變攝氏 #include <stdio.h> #include <stdlib.h> enum x {A,B,C,D,E} int main(void)

    溫度華氏轉變攝氏 #include <stdio.h> #include <stdlib.h> enum x {A,B,C,D,E} int main(void) { int a=73,b=85,c=66 { if (a>=90) printf("a=A等級!!\n") else if (a>=80) printf("73分=B等級!!\n") else if (a>=70) printf("73分=C等級!!\n") else if (a>=60) printf("73分=D等級!!\n") else if (a<60) printf("73分=E等級!!\n") } { if (b>=90) printf("b=A等級!!\n") else if (b>=80) printf("85分=B等級!!\n") else if (b>=70) printf("85分=C等級!!\n") else if (b>=60) printf("85分=D等級!!\n") else if (b<60) printf("85分=E等級!!\n") } { if (c>=90) printf("c=A等級!!\n") else if (c>=80) printf("66分=B等級!!\n") else if (c>=70) printf("66分=C等級!!\n") else if (c>=60) printf("66分=D等級!!\n") else if (c<60) printf("66分=E等級!!\n") } system("pause") return 0 }

    标签: include stdlib stdio gt

    上传时间: 2013-12-12

    上传用户:亚亚娟娟123

  • 给定两个集合A、B

    给定两个集合A、B,集合内的任一元素x满足1 ≤ x ≤ 109,并且每个集合的元素个数不大于105。我们希望求出A、B之间的关系。 任 务 :给定两个集合的描述,判断它们满足下列关系的哪一种: A是B的一个真子集,输出“A is a proper subset of B” B是A的一个真子集,输出“B is a proper subset of A” A和B是同一个集合,输出“A equals B” A和B的交集为空,输出“A and B are disjoint” 上述情况都不是,输出“I m confused!”

    标签:

    上传时间: 2017-03-15

    上传用户:yulg

  • 汇编语言教程.rar

    一本很好的汇编语言教程,跟大家一起分享 课程介绍 第1章 预备知识  1.1 汇编语言的由来及其特点   1 机器语言   2 汇编语言   3 汇编程序   4 汇编语言的主要特点   5 汇编语言的使用领域  1.2 数据的表示和类型   1 数值数据的表示   2 非数值数据的表示   3 基本的数据类型  1.3 习题 第2章 CPU资源和存储器  2.1 寄存器组   1 寄存器组   2 通用寄存器的作用   3 专用寄存器的作用  2.2 存储器的管理模式   1 16位微机的内存管理模式   2 32位微机的内存管理模式  2.3 习题 第3章 操作数的寻址方式  3.1 立即寻址方式  3.2 寄存器寻址方式  3.3 直接寻址方式  3.4 寄存器间接寻址方式  3.5 寄存器相对寻址方式  3.6 基址加变址寻址方式  3.7 相对基址加变址寻址方式  3.8 32位地址的寻址方式  3.9 操作数寻址方式的小结  3.10 习题 第4章 标识符和表达式  4.1 标识符  4.2 简单内存变量的定义   1 内存变量定义的一般形式   2 字节变量   3 字变量   4 双字变量   5 六字节变量   6 八字节变量   7 十字节变量  4.3 调整偏移量伪指令   1 偶对齐伪指令   2 对齐伪指令   3 调整偏移量伪指令   4 偏移量计数器的值  4.4 复合内存变量的定义   1 重复说明符   2 结构类型的定义   3 联合类型的定义   4 记录类型的定义   5 数据类型的自定义  4.5 标号  4.6 内存变量和标号的属性   1 段属性操作符   2 偏移量属性操作符   3 类型属性操作符   4 长度属性操作符   5 容量属性操作符   6 强制属性操作符   7 存储单元别名操作符  4.7 表达式   1 进制伪指令   2 数值表达式   3 地址表达式  4.8 符号定义语句   1 等价语句   2 等号语句   3 符号名定义语句  4.9 习题 第5章 微机CPU的指令系统  5.1 汇编语言指令格式   1 指令格式   2 了解指令的几个方面  5.2 指令系统   1 数据传送指令   2 标志位操作指令   3 算术运算指令   4 逻辑运算指令   5 移位操作指令   6 位操作指令   7 比较运算指令   8 循环指令   9 转移指令   10 条件设置字节指令   11 字符串操作指令   12 ASCII-BCD码调整指令   13 处理器指令  5.3 习题 第6章 程序的基本结构  6.1 程序的基本组成   1 段的定义   2 段寄存器的说明语句   3 堆栈段的说明   4 源程序的结构  6.2 程序的基本结构   1 顺序结构   2 分支结构   3 循环结构  6.3 段的基本属性   1 对齐类型   2 组合类型   3 类别   4 段组  6.4 简化的段定义   1 存储模型说明伪指令   2 简化段定义伪指令   3 简化段段名的引用  6.5 源程序的辅助说明伪指令   1 模块名定义伪指令   2 页面定义伪指令   3 标题定义伪指令   4 子标题定义伪指令  6.6 习题 第7章 子程序和库  7.1 子程序的定义  7.2 子程序的调用和返回指令   1 调用指令   2 返回指令  7.3 子程序的参数传递   1 寄存器传递参数   2 存储单元传递参数   3 堆栈传递参数  7.4 寄存器的保护与恢复  7.5 子程序的完全定义   1 子程序完全定义格式   2 子程序的位距   3 子程序的语言类型   4 子程序的可见性   5 子程序的起始和结束操作   6 寄存器的保护和恢复   7 子程序的参数传递   8 子程序的原型说明   9 子程序的调用伪指令   10 局部变量的定义  7.6 子程序库   1 建立库文件命令   2 建立库文件举例   3 库文件的应用   4 库文件的好处  7.7 习题 第8章 输入输出和中断  8.1 输入输出的基本概念   1 I/O端口地址   2 I/O指令  8.2 中断   1 中断的基本概念   2 中断指令   3 中断返回指令   4 中断和子程序  8.3 中断的分类   1 键盘输入的中断功能   2 屏幕显示的中断功能   3 打印输出的中断功能   4 串行通信口的中断功能   5 鼠标的中断功能   6 目录和文件的中断功能   7 内存管理的中断功能   8 读取和设置中断向量  8.4 习题 第9章 宏  9.1 宏的定义和引用   1 宏的定义   2 宏的引用   3 宏的参数传递方式   4 宏的嵌套定义   5 宏与子程序的区别  9.2 宏参数的特殊运算符   1 连接运算符   2 字符串整体传递运算符   3 字符转义运算符   4 计算表达式运算符  9.3 与宏有关的伪指令   1 局部标号伪指令   2 取消宏定义伪指令   3 中止宏扩展伪指令  9.4 重复汇编伪指令   1 伪指令REPT   2 伪指令IRP   3 伪指令IRPC  9.5 条件汇编伪指令   1 条件汇编伪指令的功能   2 条件汇编伪指令的举例  9.6 宏的扩充   1 宏定义形式   2 重复伪指令REPEAT   3 循环伪指令WHILE   4 循环伪指令FOR   5 循环伪指令FORC   6 转移伪指令GOTO   7 宏扩充的举例   8 系统定义的宏  9.7 习题 第10章 应用程序的设计  10.1 字符串的处理程序  10.2 数据的分类统计程序  10.3 数据转换程序  10.4 文件操作程序  10.5 动态数据的编程  10.6 COM文件的编程  10.7 驻留程序  10.8 程序段前缀及其应用   1 程序段前缀的字段含义   2 程序段前缀的应用  10.9 习题 第11章 数值运算协处理器  11.1 协处理器的数据格式   1 有符号整数   2 BCD码数据   3 浮点数  11.2 协处理器的结构  11.3 协处理器的指令系统   1 操作符的命名规则   2 数据传送指令   3 数学运算指令   4 比较运算指令   5 超越函数运算指令   6 常数操作指令   7 协处理器控制指令  11.4 协处理器的编程举例  11.5 习题 第12章 汇编语言和C语言  12.1 汇编语言的嵌入  12.2 C语言程序的汇编输出  12.3 一个具体的例子  12.4 习题 附录

    标签: 汇编语言 教程

    上传时间: 2013-07-05

    上传用户:hw1688888

  • 基于FPGA的计算机组成原理实验系统的设计与仿真.rar

    “计算机组成原理”是计算机专业的一门核心课程。传统的计算机组成原理实验是在指令格式、寻址方式、运算器、控制器、存储器等都相对固定的情况下进行,学生主要进行功能实现和验证,缺少自主设计和创新过程。 为改变这种状况,须更新现有的计算机组成原理实验系统。采用FPGA芯片作为载体,使用EDA开发工具,用硬件描述语言实现不同的硬件逻辑,再与硬件的输入输出接口线路相连,最终组成一台可用于组成实验教学的完整计算机系统。这期间学生将掌握组成原理实验系统的各个部件的功能及其相互之间如何协作。本实验系统能够让学生完成有关计算机组成原理的部件实验和整机实验:部件实验包括加法器、乘法器、除法器、算术逻辑运算单元、控制器、存储器等;整机实验可以独立实现各部件的功能描述。该系统能够帮助学生巩固课堂知识并增强设计能力。 为实现上述目的,依据EDA技术的开发流程和方法,建立了一个完整的体系,其中包括控制模块、内存模块、运算器模块、通用寄存器组及其控制部件、程序计数器、地址寄存器、指令寄存器、时序部件、数据控制部件、状态值控制部件,以及为帮学生调试而专门设计的输出观察部件。在Quartus Ⅱ开发环境下,使用Altera公司FPGA芯片,采用VHDL,语言设计并实现了上述模块。经过仿真测试,所实现的各功能模块作为独立部件时能完成各自功能:而将这些部件组合起来的整机系统,可以执行程序段和进行各种运算处理,达到了设计要求。

    标签: FPGA 计算机组成原理 实验系统

    上传时间: 2013-06-01

    上传用户:hebmuljb

  • 64位MIPS微处理器的模块设计和FPGA验证

      作为嵌入式系统核心的微处理器,是SOC不可或缺的“心脏”,微处理器的性能直接影响着整个SOC的性能。  与国际先进技术相比,我国在这一领域的研究和开发工作还相当落后,这直接影响到我国信息产业的发展。本着赶超国外先进技术,填补我国在该领域的空白以摆脱受制于国外的目的,我国很多科研单位和公司进行了自己的努力和尝试。经过几年的探索,已经有多种自主知识产权的处理器芯片完成了设计验证并逐渐进入市场化阶段。我国已结束无“芯”的历史,并向设计出更高性能处理器的目标迈进。  艾科创新微电子公司的VEGA处理器,是公司凭借自己的技术力量和科研水平设计出的一款64位高性能RSIC微处理器。该处理器基于MIPSISA构架,采用五级流水线的设计,并且使用了高性能处理器所广泛采用的虚拟内存管理技术。设计过程中采用自上而下的方法,根据其功能将其划分为取指、译码、算术逻辑运算、内存管理、流水线控制和cache控制等几个功能块,使得我们在设计中能够按照其功能和时序要求进行。  本文的首先介绍了MIPS微处理器的特点,通过对MIPS指令集和其五级流水线结构的介绍使得对VEGA的设计有了一个直观的认识。在此基础上提出了VEGA的结构划分以及主要模块的功能。作为采用虚拟内存管理技术的处理器,文章的主要部分介绍了VEGA的虚拟内存管理技术,将VEGA的内存管理单元(MMU)尤其是内部两个翻译后援缓冲(TLB)的设计作为重点给出了流水线处理器设计的方法。结束总体设计并完成仿真后,并不能代表设计的正确性,它还需要我们在实际的硬件平台上进行验证。作为论文的又一重点内容,介绍了我们在VEGA验证过程中使用到的FPGA的主要配置单元,FPGA的设计流程。VEGA的FPGA平台是一完整的计算机系统,我们利用在线调试软件XilinxChipscope对其进行了在线调试,修正其错误。  经过模块设计到最后的FPGA验证,VEGA完成了其逻辑设计,经过综合和布局布线等后端流程,VEGA采用0.18工艺流片后达到120MHz的工作频率,可在其平台上运行Windows-CE和Linux嵌入式操作系统,达到了预计的设计要求。  

    标签: MIPS FPGA 微处理器 模块设计

    上传时间: 2013-07-07

    上传用户:标点符号

  • JPEG2000基于位平面扫描的上下文编码的研究和FPGA实现

    JPEG2000是新一代的静态图像压缩标准,它相比JPEG有很多新的特性,如渐进传输和感兴趣区域编码等,因而它具有广阔的应用前景,特别是在数码相机、PDA等便携式设备中。 JPEG2000的核心主要包括小波变换和基于最优化截断点的嵌入式块编码(EBCOT)算法,其计算复杂度远远高于JPEG,完全采用软件方案实现将会占用大量的处理器时间和内存开销,而且速度较慢,实时处理的能力较差。为了推广JPEG2000在便携式产品、消费类电子产品中的应用,打开巨大的潜在市场,研究硬件实现的算法实时处理方案具有重要的应用价值。 EBCOT算法是一个两层的编码引擎,其中的上下文编码的运算量约占到总运算量的50%,是提高编码速度的关键算法之一。由于上下文编码大部分都是逻辑运算,没有复杂的数学运算,但逻辑控制流程复杂繁琐,对存储器访问频繁,采用DSP或者其他的通用处理器通过指令控制实现该算法,未能显著提高编码速度。本文采用FPGA芯片,以电路逻辑的方式来实现该算法并进行优化,在研究和分析了上下文编码算法运算特点的基础上,设计了列判断和交错存储相结合的硬件实现方案,并采用硬件描述语言Verilog在寄存器传输级描述了相应的硬件电路。通过功能仿真和逻辑综合后,所获得的上下文编码模块最大时钟频率为101MHz,且能在130ms内完成对一幅512×512灰度图像的编码,性能比Jasper软件中的实现方案提高了75%。 JPEG2000的一个重要特性是其具有渐进传输的能力,而码流组织是获得渐进传输特性的技术关键。码流组织通过在输出码流中安排数据包的先后顺序来实现渐进传输的目的。本文对JPEG2000中实现渐进传输的机制进行了分析,并研究了码流组织的算法实现。 为了对JPEG2000算法实现进行验证,本文设计了基于FPGA和ARM的验证实验平台,其中FPGA主要完成算法中运算量较大的小波变换、上下文编码和算术编码,而ARM处理器则完成码流组织、数据打包以及和PC机的通信。本文在该平台上对所设计的上下文编码算法和码流组织模块的设计进行了验证,实验结果表明本文设计的算法模块功能正确,并在一定程度上提高了编码速度。

    标签: JPEG 2000 FPGA 编码

    上传时间: 2013-04-24

    上传用户:独孤求源

  • MCS-96单片机的应用系统设计基础

    内容提要: MCS-96单片机的应用系统设计基础            硬件电路设计,语言的设计基础,程序分析            PL/M-96可执行语句和程序等等.... 第一章 概述   1.1 单片机应用系统的结构   1.2 MCS-96单片机应用系统设计基础       1.2.1 引脚功能及外部扩展特性       1.2.2 储存器及管理       1.2.3 芯片组态寄存器    1.3 MCS-96单片机应用系统的设计与调试       1.3.1 总体设计       1.3.2 硬件电路设计       1.3.3 基本硬件电路调试       1.3.4 软件设计    1.4 PL/M-96语言特点 第二章 PL/M-96简单程序分析     2.2 PL/M-96字符集 标示符 注释         2.2.1 字符集         2.2.2 标示符 保留字和预说明符         2.2.3 注释     2.3 数据类型和类型说明         2.3.1 数据类型         2.3.2 简单说明句     2.4 变量         2.4.1 字节 字 和双字变量         2.4.2 整型 短整型 和长整型变量         2.4.3 实型变量         2.4.4 地址型变量和运算符的地址应用         2.4.5 变量的Fast和Slow属性及说明         2.4.6 隐含类型转换     2.5 常数         2.5.1 纯数常数         2.5.2 浮点常数         2.5.3 字符串     2.6 表达式及运算规则         2.6.1 操作数         2.6.2 算术运算及其表达式         2.6.3 关系运算及其表达式         2.6.4 逻辑运算及其表达式         2.6.5 表达式的运算顺序         2.6.6 常数表达式计算     2.7 数据和结构         2.7.1 数组         2.7.2 结构           .........           .........

    标签: MCS 96 单片机 应用系统

    上传时间: 2013-11-19

    上传用户:chenbhdt