族谱网 头条 人物百科

查找表

2017-10-16
出处:族谱网
作者:阿族小谱
浏览:361
转发:0
评论:0
例子计算正弦值许多计算机只能执行基本的算术运算,而不能直接计算给定值的正弦值,它们使用如下面泰勒级数这样的复杂公式计算相当高精度的正弦值:sin⁡⁡-->(x)≈≈-->x−−-->x36+x5120−−-->x75040{\displaystyle\operatorname{sin}(x)\approxx-{\frac{x^{3}}{6}}+{\frac{x^{5}}{120}}-{\frac{x^{7}}{5040}}}(x接近0)然而,这样的计算费用可能是非常大的,尤其是在低速的处理器上。有许多的应用程序,尤其是传统的计算机图形每秒需要几千次的正弦值计算。一个常用的解决方案就是在刚开始计算许多均匀分布数值的正弦值,然后在表中查找最接近所需x的正弦值,这个值非常接近于正确的数值,这是因为正连续函数一个有限变化率的连续函数。例如:File:Interpolationexampleline...

例子

计算正弦值

许多计算机只能执行基本的算术运算,而不能直接计算给定值的正弦值,它们使用如下面泰勒级数这样的复杂公式计算相当高精度的正弦值:

sin⁡ ⁡ -->(x)≈ ≈ -->x− − -->x36+x5120− − -->x75040{\displaystyle \operatorname {sin} (x)\approx x-{\frac {x^{3}}{6}}+{\frac {x^{5}}{120}}-{\frac {x^{7}}{5040}}}(x接近0)然而,这样的计算费用可能是非常大的,尤其是在低速的处理器上。有许多的应用程序,尤其是传统的计算机图形每秒需要几千次的正弦值计算。一个常用的解决方案就是在刚开始计算许多均匀分布数值的正弦值,然后在表中查找最接近所需x的正弦值,这个值非常接近于正确的数值,这是因为正连续函数一个有限变化率的连续函数。例如:

File:Interpolation example linear.png 部分正弦函数的线性插值

不幸的是,查找表需要一定的空间:如果使用IEEE双精度浮点数的话,将会需要16,000字节。如果使用较少的采样点,那么精度将会大幅度地下降。一个较好的解决方案是线性插值,在表中待计算点左右两侧两个点的值之间连直线,这个点对应的直线上的值就是所计算点的正弦值。这种方法计算速度也很快,对于如正弦函数这样的平滑函数来说也有更高的精度。这里是使用线性插值的一个例子:

当使用插值的时候,可以得益于不均匀采样,也就是说在接近直线的地方,使用较少的采样点,在变化较快的地方使用较多的采样点以最大限度地接近实际的曲线。更多的信息请参考插值。

计算1的位数

population function。例如,数字37的二进制形式是100101,所以它包含有三个设置成1的位。一个计算32位整数中1的位数的简单c语言程序是:

intcount_ones(unsignedintx){intresult=0;while(x>0){result+=x&1;x=x>>1;}returnresult;}

不幸的是,这个简单的算法在现代的架构上将需要数以百计的时钟周期才能完成,这是因为它造成了许多分支和循环,而分支的速度是很慢的。这可以使用循环展开和其它一些聪明的技巧进行改进,但是最简单快捷的解决方案是查找表:简单地构建一个 包含每个字节可能值包含的1的个数的256个条目的表。然后使用这个表查找整数中每个字节包含的1的个数,并且将结果相加。没有分支、四次内存访问、几乎没有算术运算,这样与上面的算法相比就可以大幅度地提升速度。

intcount_ones(unsignedintx){returnbits_set[x&255]+bits_set[(x>>8)&255]+bits_set[(x>>16)&255]+bits_set[(x>>24)&255];}

查找表的其他用途

缓存

存储缓存(包括存储文件的磁盘缓存,或是存储代码或数据的处理器缓存),工作原理也类似查找表。表格被存储在非常快速的内存上,而不是慢速的外部存储。

硬件查找表

在数字电路中,n位查找表可以使用多路复用器甚至ROM来实现。使用多路复用实现时,选择线是LUT的输入而输入是常数;使用 ROM 实现时,只需将输入连到地址线上即可直接从数据线读取结果。n位LUT通过将布尔逻辑函数建模为真值表从而可以编码任意n位输入,这是编码布尔逻辑函数的一个有效途径,4位LUT实际上是现代FPGA的主要组件。


免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。

文章来源:内容词条
——— 没有了 ———
编辑:阿族小谱

更多文章

更多精彩文章
评论 {{commentTotal}} 文明上网理性发言,请遵守《新闻评论服务协议》
游客
发表评论
  • {{item.userName}} 举报

    {{item.content}}

    {{item.time}} {{item.replyListShow ? '收起' : '展开'}}评论 {{curReplyId == item.id ? '取消回复' : '回复'}}

    回复评论
加载更多评论
打赏作者
“感谢您的打赏,我会更努力的创作”
— 请选择您要打赏的金额 —
{{item.label}}
{{item.label}}
打赏成功!
“感谢您的打赏,我会更努力的创作”
返回
打赏
私信

推荐阅读

· 族谱寻踪:如何查找自己的家谱?
修订家谱的风气正在中国民间悄然复苏。查找自己的家谱,是海外华人寻根的方式之一。家谱记录了一个家族的繁衍兴衰,承载了家风美德,更蕴含着中华民族世代流传的核心价值。不少家训家规对现在还很实用家谱体量差异巨大,既有庞至数十卷的囊括各宗支的通谱,也有仅根据某一地一姓一支撰写的家谱。大多数家谱中,家规、家训、家族中人功绩、世系表等都是必不可少的。本期希望读者们能够学会"如何查询自己的家谱"。关于家族的信息要越详细越好,除了姓氏和祖籍,了解自己家族的堂号、始祖、字辈,会更容易确定谱籍。01:家谱的常识简介家谱,又称族谱、家乘、祖谱等,是一种以表谱形式,记载一个以血缘关系为主体的家族世系繁衍和重要人物事迹的特殊图书体裁。家谱是中国特有的文化遗产,在汉文化中有悠久的历史,后来在民族融合中逐渐在各民族中开始出现。家谱是中华民族珍贵的人文资料,对历史学、民俗学、人口学、社会学和经济学的深入研究,均有其不可替代...
· 关于查找严子陵为二十世祖的依据
也是从湖北省恩施市红土乡手抄《严氏族谱》所见一文,“唐开元六年,奉旨建立严公庙,功成谢表”,为唐大臣严浚(字挺之)给玄宗皇帝的谢表。谢表中写到“臣浚伏奉八月十一日制书,令余姚县建庙祀臣二十四世祖,汉严光,赐额曰;严公庙。”一位唐代重臣,给皇帝上谢表是何等慎重之事,严挺之老祖为什么会在表中称“臣二十四世祖,汉严光,”,其根据是什么?这给我们后人考查这个排序,出了一道课题。湖南华容《严氏族谱》是红土手抄本的依据,按华容谱载主修谱者濑园首升序,“纂修楚志,见典籍内列载华容严氏族谱。归而询之板桥宗长;春山笥藏,副墨高可尺许,思集众授梓,烽火二十余年不可问,今所存先考手泽载十分一也。”这里说明华容老谱仅存十分之一,大部分已经不可“问”,就是说看不清了。而这大部分里就很可能有挺之公谢表中称子陵公为二十四祖之依据。后来华容严氏族谱是以浙江桐庐《严氏族谱》为蓝本所编修,华容谱序中有克任原序“濑园以不见春山...
· 方便快速查找数字化族谱一目了然
日前,泉州师范学院“闽南姓氏文化研究中心”正式举行揭牌仪式,今后闽南姓氏族谱有望走向数字化管理。当天,首届中华闽南姓氏文化论坛在泉州师范学院图书馆举行。中国社会科学院文化研究中心闽南文化研究基地副主任、泉州师院图书馆馆长苏黎明教授在接受海都记者采访时称,该平台搭建后,中心将广征各姓氏族谱,并将让族谱数字化,往后,海内外侨乡侨胞可通过这一平台了解自己的族谱。
· 表
名篇诸葛亮《出师表》李密《陈情表》韩愈《论佛骨表》曹植《求自试表》
· 家谱如何查找科举文献资料?通过哪些地方可以查询文献资料
1.中国清代进士科举文献地理分布数据库《中国清代进士科举文献地理分布数据库》按照9个朝代112次科举考试的时间范围,以科举文献的地理分布为依托,通过地理图书平台提供的开放协作服务,直观的体现每个科年的文献存世情况,同时提供可在线浏览文献的“一键直达”与明代科举文献相比,清代进士科举文献的现存总量更大且类型也更为丰富,不仅有常见的登科录、会试录,还有进士履历便览、会试同年齿录、同年录、会试殊卷、会试闹墨等。2.历代进士登科数据库由浙江大学龚延明教授主持编纂,以登科人物的传记资料为主要内容的专业在线数据库产品。本库资源共计10万余条,囊括隋代至清代各科举类目包括进士、诸科,特奏名、制科等,收录的登科人物及著录内容皆有书证,学术团队历经约二十载的整理,寻检爬梳各类可见的传世文献和出土史料,经考辩辑校,最终汇集而成。内容体例严谨完整,针对人物除著录姓名、字号、籍贯、朝代,以及具体的登科时间(年份)...

关于我们

关注族谱网 微信公众号,每日及时查看相关推荐,订阅互动等。

APP下载

下载族谱APP 微信公众号,每日及时查看
扫一扫添加客服微信