当前位置: 首页 > news >正文

b2b免费发布信息的网/惠州市seo广告优化营销工具

b2b免费发布信息的网,惠州市seo广告优化营销工具,企业公示信息查询系统陕西,wordpress oauth在计算机编程语言中,集合类型(collection)的数据结构都是非常重要的。这里集合的概念指的是能够将多个数据对象整合到一起进行管理和操作的复合数据类型。数组(array),是比较重要的、基础的、具有代表性的集合类型。在大部分编程语言中,数组具…
在计算机编程语言中,集合类型(collection)的数据结构都是非常重要的。这里集合的概念指的是能够将多个数据对象整合到一起进行管理和操作的复合数据类型。数组(array),是比较重要的、基础的、具有代表性的集合类型。在大部分编程语言中,数组具有一致性、有序性和不可变性。一致性指的是元素类型一致;有序性指的是元素排列顺序确定,可通过下标索引;不可变性指的是长度不可变。多说一句,在现代编程语言中,往往有多样的集合类型突破了这几个性质,主要是为了提供编程便利和保证硬件安全。SystemVerilog相比于Verilog提供了功能更加丰富的数组类型,包括定长数组(Fixed-size Array)、动态数组(Dynamic Array)、关联数组(Associative Array),还有为多维数组的切片索引提供方便而做区分的合并数组(Packed Array)和非合并数组(Unpacked Array)。de4fa1a255e83395fabf383a6851fff4.png01定长数组和动态数组定长数组在声明的时候就必须指定数组的长度(紧凑声明)或者上下边界(完整声明)。这样在仿真程序编译完成之后,系统需要为其分配的内存空间大小就是已知的、确定的。动态数组在声明的时候不需要指定数组长度,而是在原来指定长度的中括号中留空。注意不是用$符号,$符号是用来声明另一种叫队列的集合类型用的。但是在使用动态数组之前,需要使用构造函数(new)对动态数组进行定长实例化。换句话说,定长数组和动态数组其实都是“定长”的,当系统为其分配空间之后,该空间大小就固定下来了。它们的区别只是定长数组在仿真程序编译的时候就已经确定,而动态数组可以在仿真运行时再根据上下文确定长度然后实例化。所以,我个人觉得将它们分别叫数组的静态初始化和动态初始化会更合适一些。在有些编程语言中,会存在“不定长”和“变长数组”的数组类型,即内存空间分配之后还可以变化。这种数组在本质上是这么实现的,当你需要改变长度的时候,系统会动态给你创建一个新的数组,然后将旧数组的值赋值过去,最后将旧的数组空间回收。这种数据结构是低效的。说到底,数组依然具有不可变性。02常被用作查找表的关联数组上面介绍的定长数组和动态数组处理连续变量集合的时候是很有用的。然而当你要存储的数据量未知,或者是要保存稀疏矩阵的元素时,就应该选择关联数组了。关联数组有两大特性。第一,关联数组的元素在被使用之前不会消耗内存资源;第二,关联数组的索引可以是任何数据类型。所以说,关联数组的特性非常适合做查找表,类似于Python中的字典类型,是一种典型的键-值(key-value)模式。关联数组在内存中的存放自然也是离散的,这一点非常关键。关联数组的声明语法是:data_type array_id [index_type];其中data_type确定数组元素的类型,array_id是数组的名字,index_type是索引的类型。至于数组的使用,建议使用foreach进行循环遍历,它会自动遍历到已经存在的那些元素;还可以使用关联数组的delete、first、exists等内建方法。有一个地方需要注意,当你通过一个不存在的索引去访问关联数组的时候,是会返回数组类型的默认值的,可能不是你想象中的边界溢出然后报个错。c9f7620464b0eb15d18ee299294f0436.png02合并数组和非合并数组合不合并这个概念跟前面讲的几种数组类型不是在一个维度上。合并和非合并实际上是多维向量为了方便不同的访问场景而衍生出来的切片分段的组织方式。在存储方式上是有区别的:合并的部分原则上是连续比特存放的,非合并的部分就不一定了。再说一下声明方式就可以举个例子了。在声明数组时,如果将数组的维度写到数组名的前面,表示这部分合并;如果将数组的维度写到数组名后面,表示这部分非合并。举一个经典的例子,memory的声明:logic [31:0] my_mem [1024];这个例子中,数组名是my_mem,写在它前面的维度是[31:0],这一部分是合并的,即每32bit就连续存放在一块;写在它后面的维度是[1024](这里跟写成[0:1023]的形式是一样的哈),这部分是非合并的,即这1024组32bit不一定是连续存放的。当我们进行访问my_mem[520]的时候,就可以直接读出来第520个字。总结一下,合并和非合并是数据集合的一种组织方式,方便存储管理,方便使用者访问。所以在声明多维数组的时候,建议是根据应用场景来决定怎么合并。参考文献[1] IEEE Standard Association. "IEEE Standard for SystemVerilog-Unified Hardware Design, Specification, and Verification Language." (2013).[2] Horstmann, Cay S., and Gary Cornell. Core Java : Volume I Fundamentals. Prentice Hall PTR, 2000.
http://www.lbrq.cn/news/869815.html

相关文章:

  • 静态网站开发外文文献/安阳企业网站优化外包
  • 东莞高端品牌网站建设/推广策划方案模板
  • 扁平化手机网站模板/排名优化培训
  • 四博互联做的网站/百度百度
  • jsp网站开发难点/最新国际新闻大事件
  • 昆山做网站/快手刷评论推广网站
  • 郑州哪里有做网站的/google store
  • 在线设计平台教学/北京网站营销seo方案
  • java网站开发基于/互动营销经典案例
  • 网站建设摊销年限最新规定/网站软文推广网站
  • 公司做网站的/网络营销策划书结构
  • 英文网站建设电话/怎么投放广告是最有效的
  • 网站开发项目挣钱吗/推广手段有哪些
  • 如何选择邯郸网站制作/今日最近的新闻大事10条
  • 建设网站的请示/百度客服24小时电话人工服务
  • 做中东服装有什么网站/网络营销公司
  • 本网站建设在美国/太原百度关键词排名
  • 网站被k的表现/东莞市网络seo推广服务机构
  • 金融网站html5模板/重庆高端网站seo
  • 网站的网络公司/公司注册流程
  • 做实验网站/品牌推广运营策划方案
  • 黄骅网站/资源平台
  • 程序员接活的平台网站/网络营销的专业知识
  • 中企动力 网站建设 收费/seo智能优化公司
  • 3d网站建设制作/乱码链接怎么用
  • 西安网站建设设计/谷歌广告推广怎么做
  • 武汉专业设计网站的公司/最近中国新闻热点大事件
  • 把网站做成静态页面/seo网站推广平台
  • 建网站和app/商品关键词怎么优化
  • 什么是一学一做视频网站/怎样做百度推广网页
  • xss-lab1-8关
  • Haproxy代理服务(小白的“升级打怪”成长之路)
  • 【转】Rust: PhantomData,#may_dangle和Drop Check 真真假假
  • docker拉取nacos镜像失败
  • 实战--Tlias教学管理系统(部门管理)
  • Spring AI 项目实战(十六):Spring Boot + AI + 通义万相图像生成工具全栈项目实战(附完整源码)