在手机上怎么玩个位奇偶校验算法算法.

>> 对红外探测器采集到的数据进行PE算法的增强处理,同时校正了由于探测器问题而引起的奇偶场错位的问题!...
对红外探测器采集到的数据进行PE算法的增强处理,同时校正了由于探测器问题而引起的奇偶场错位的问题!...
所属分类:
下载地址:
pe_test_input.rar文件大小:31.25 kB
分享有礼! 》
请点击右侧的分享按钮,把本代码分享到各社交媒体。
通过您的分享链接访问Codeforge,每来2个新的IP,您将获得0.1 积分的奖励。
通过您的分享链接,每成功注册一个用户,该用户在Codeforge上所获得的每1个积分,您都将获得0.2 积分的分成奖励。
对红外探测器采集到的数据进行PE算法的增强处理,同时校正了由于探测器问题而引起的奇偶场错位的问题!-on infrared detectors to collect the data PE increased processing algorithm, as a result of detector calibration of the issue of parity market dislocation question!
Sponsored links
源码文件列表
温馨提示: 点击源码文件名可预览文件内容哦 ^_^
106.05 kB12-04-04 10:01
3.31 kB12-04-04 10:01
10.74 kB31-03-05 16:05
Temp.dsp3.30 kB23-07-04 17:08
Temp.dsw533.00 B23-07-04 17:08
Temp.ncb49.00 kB31-03-05 16:05
Temp.opt74.00 kB31-03-05 16:05
Temp.plg1.23 kB31-03-05 16:05
635.00 B12-04-04 10:01
&pe_test_input&0.00 B07-04-05 17:15
(提交有效评论获得积分)
评论内容不能少于15个字,不要超出160个字。
评价成功,多谢!
下载pe_test_input.rar
CodeForge积分(原CF币)全新升级,功能更强大,使用更便捷,不仅可以用来下载海量源代码马上还可兑换精美小礼品了
您的积分不足,优惠套餐快速获取 30 积分
10积分 / ¥100
30积分 / ¥200原价 ¥300 元
100积分 / ¥500原价 ¥1000 元
订单支付完成后,积分将自动加入到您的账号。以下是优惠期的人民币价格,优惠期过后将恢复美元价格。
支付宝支付宝付款
微信钱包微信付款
更多付款方式:、
您本次下载所消耗的积分将转交上传作者。
同一源码,30天内重复下载,只扣除一次积分。
鲁ICP备号-3 runtime:Elapsed:960.383ms - init:0.1;find:14.8;t:7.8;tags:11.8;related:251.9;comment:0.8; 5.8
登录 CodeForge
还没有CodeForge账号?
Switch to the English version?
^_^"呃 ...
Sorry!这位大神很神秘,未开通博客呢,请浏览一下其他的吧51CTO旗下网站
奇偶校验位
《计算机科学概论(第11版)》第1章数据存储,本章我们首先要学习的是在计算机科学中信息如何编码和存储。第一步,我们要讨论计算机数据存储设备的基础知识,然后研究如何进行信息编码并将其存储到系统内部。我们还将探讨现如今数据存储系统的各个分支,以及如何用数据压缩、错误处理等技术来克服其不足。本节为大家介绍奇偶校验位。
作者:侯德杰 译来源:人民邮电出版社| 16:17
*1.9& 通信差错
当信息在计算机的各部分之间来回传输,或在月球和地球之间来回传输,又或者只是被保存在存储器中,最终检索到的位模式有可能和最原始的不一致。灰尘粒、磁盘表面的油脂或者一个出了故障的电路都可能使数据被错误地记录或读取。传输过程的静电干扰可能会损坏一部分数据。另外,在某些技术条件下普通的隐蔽放射线可以改变计算机主存储器中的存储模式。
为了解决这样的问题,人们开发了许多编码技术来检测甚至校正错误。今天,由于这些技术被大规模地内置于计算机系统的内部构件,计算机使用者并不了解它们。不过,它们是很重要的,为科学研究作出了很大的贡献。因此,我们有必要了解一些使计算机设备可靠的技术。
1.9.1& 奇偶校验位
一种简单的错误检测方法基于下面的原则,即如果被操作的每个位模式都有奇数个1,但却找到了有偶数个1的模式,那么一定是出错了。使用这个原则,我们需要这样一个编码系统,其中每个模式有奇数个1。这是很容易做到的,首先在编码系统已经可用的模式(也许在高位端)上添加一位,称为奇偶校验位(parity bit)。在任何情况下,我们给这个新的位赋值1或0,这样整个模式就有奇数个1。一旦我们这样调整了编码系统,有偶数个1的模式就表示出现了错误,被操作的模式也是不正确的。
图1-28向我们展示了如何将奇偶校验位加到字母A和F的ASCII码上。注意,A的编码变成了(奇偶校验位为1),F的ASCII码变成了(奇偶校验位为0)。尽管A原始的8位模式有偶数个1,F原始的8位模式有奇数个1,但它们的9位模式都有奇数个1。如果将这种技术应用于所有的8位ASCII模式,我们就能够得到一个9位编码系统,其中任何一个9位模式有偶数个1就表明出错了。
图1-28& 适用奇校验的字母A和F的ASCII码
上面描述的奇偶校验系统称为奇校验,因为我们设计的系统使得每一个正确的模式都有奇数个1。另一种技术称为偶校验。在一个偶校验系统中,每个模式都被设计成包含偶数个1,因此如果出现了奇数个1,那么就表明有错误。
今天,在计算机主存储器中使用奇偶校验位已经不是一件稀奇的事了。尽管我们假设这些计算机存储单元是8位的,但事实上,它们可能是9位,其中一个位被用作奇偶校验位。每次传输一个8位模式给存储电路存储,电路都会给其加上一个校验位,存储结果为9位模式。在后来检索模式时,电路检验这个9位模式的奇偶性。如果这样没有发现错误,存储器就移走校验位,然后自信地返回余下的8位模式。否则,存储器返回那8个数据位,并警告返回的模式可能与原本传给存储器的模式不同。
直接使用校验位很简单,但是有其局限性。如果一个模式最初有奇数个1,并出现了2次错误,那么它就仍然有奇数个1,这样校验系统就无法发现其错误。事实上,直接使用校验位不能发现模式中任何偶数个错误。
有时对长位模式应用一种方法来减少这类问题,例如磁盘扇区存储的位串。这种情况下,模式都有一组校验位构成的校验字节(checkbyte)。校验字节中的每一个位是一个校验位,与散布于整个模式中的一组特殊位相联系。例如,一个校验位可能与该模式中从第一个位起的每个第8位相关联,而另一个与该模式中从第二位起的每个第8位相关联。这样,集中在原模式某个区域中的一组差错就很可能被发现,因为它会在一些校验位的范围内。这个校验字节概念的演变引出了称为校验和(checksum)及CRC(Cyclic Redundancy Check,循环冗余校验)的差错检测方案。【责任编辑: TEL:(010)】&&&&&&
大家都在看猜你喜欢
热点热点头条头条热点
24H热文一周话题本月最赞
讲师:31014人学习过
讲师:218635人学习过
讲师:15561人学习过
精选博文论坛热帖下载排行
《ASP.NET程序设计教程》是在总结多年ASP.NET教学和应用项目开发经验基础上编写完成的,编写过程中充分吸取了其他畅销实用教程的成功经验。...
订阅51CTO邮刊设计快速乘法器,通常要重点处理三个问题:减少部分积产生、加速部分积累加和提高最终多位数相加速度。例如,用传统的乘法运算模式处理16位×16位所用的时间为t总=t产生16行部分积+t16行部分积累加成最终积。若运用改进波兹(Booth)算法以后,可以减少部分积的产生。而基于改进波兹算法的乘法器,在后续部分积相加的过程中,无论采用哪种处理方式,如华莱氏树结构等,都不可避免地要解决符号位扩展阵列问题。本文提出了一种新的基于改进波兹算法的逻辑设计来处理符号位部分:通过简单地运用‘或门’、‘异或门’来优化乘法器的局部速度和面积两方面的性能。改进波兹算法改进波兹算法MBA(Modified Booth′s Algorithm)[1]是建立在波兹算法[2]基础上的。对乘数三位一组的划分包含了一个重叠位,每一组的三位按表1编码,并形成一个部分积。由此而产生5个系数:±1、±2、0。在部分积的累加过程中,减法也就是补码相加。经过编码以后,通过高低电平信号对符号位进行指示。n位乘数乘以m位被乘数会产生n+m位积。因此累加过程中由于对负数补码的相加,每个部分积必须把符号位扩展到最高位(第n+m-1位),以此来保证后续运算的正确性。若以8位X×8位Y为例,产生的部分积阵列如图1所示。由于部分积含有±2X,因此其字长为9位,即A0~A8,第10位A9为符号位。在做减法补码运算时,其符号位应扩充至最高位(第15位),再加上相应每组最高位,即y1。B、C、D、E也按此规律产生。8位×8位最终产生16位积。‘或’-‘异或’快速算法处理符号位部分对符号位扩展阵列单独处理,逻辑设计则按照下面顺序来进行:(1)若乘数有偶数个位即2k(k=1,2……n),那么就会产生k+1行部分积。在部分积中,有k行符号扩展位,符号扩展位阵列的最大宽度为2k-1个位;若乘数有奇数个位,即2k+1(k=0,1,2......n),那么就会产生k+1行部分积。在部分积中,有k行符号扩展位,符号扩展位阵列的最大宽度为2k个位。(2) 若编码结果为负数,那么产生该行的所有符号位都是1,否则都为0。(3) 除了第0列,对符号位扩展阵列每一列进行奇偶划分,即第1、3、5……为奇数列,第2、4、6……为列。(4) 符号位扩展阵列和的偶数位与该列上(从上至下)最后一位相关联。该阵列和的奇数位等于该列上所涉及位的‘或’运算,偶数位等于与该位相关联的那位与低一位的列的和位的‘异或’运算,第0位等于第0行的编码产生的符号信号。以8位×8位的例子来说明:r0~r6是符号位阵列累加的和位,s0~s3表示阵列第0行到第3行,如图2所示。
&|&相关影像
互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于www.baike.com。
登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。
此词条还可添加&
编辑次数:4次
参与编辑人数:3位
最近更新时间: 20:21:23
贡献光荣榜
扫码下载APP随笔 - 157&
评论 - 32&
&&&&&&&&&&&
1即计算出所给数中包含1的个数
方法一:每一位分别异或(时间复杂度O(n)n代表数位数)
函数功能:如果1的个数为奇数个,则返回1,如果1的个数为偶数个,则返回0。
parity_check(unsigned x)
int val=0;
val^=x;//val 和x进行异或运算
x&&=1;//x右移一位
return val&0x1;//取末位运算. val的二进制形式最后一位位1则返回1,为0则返回0.
实例分析,假设无符号数x转换成二进制后长度为5位,五个位置的数据(二进制数,0或者1)分别记为①②③④⑤,两个位置的数进行异或运算记为①^②。注意,给定x后化成二进制形式最高位①为1。
则整个程序执行过程(只需要考虑异或运算结果的末位数)可以表述为:
(((⑤^④)^③)^②)^①&&表达式1
假设⑤和④不同,则⑤^④运算结果为1,表示有一个1。表达式1可以化成:((1^③)^②)^①&&表达式2
③如果不是1,则表示⑤④③中只有一个1;如果是1,⑤④③中有两个1.这两种结果等价于1^③运算的结果。假设③就是1,则表达式2可以化成:(0^②)^①&&表达式3
假设②为0(①为1是前提),则表达式3可以化简为:(0^0)^1,运算结果为1,即五个二进制数中有奇数个1,⑤和④中有一个1,③是1,②为0,①为1共3个1得以验证。
该算法形式简单,功能强大,却不好理解。该函数可用于奇偶校验。
上面方法有些问题:
如果输入的X负数,负数右移,高位会被设为1,那么这个书最终就会变成oxFFFFFFFF而陷入死循环。
改进方法:
parity_check(unsigned x)
int val=0;
unsigned int flag=1;
while(flag)
{val^=(x&flag)
flag=flag&&=1;//x左移一位
return val&0x1;//取末位运算. val的二进制形式最后一位位1则返回1,为0则返回0.
方法二:时间复杂度0(1的个数)
while(x)
a^=0;//改为 count++;可以计算该数二进制中包含1的个数
方法三:时间复杂度0(lgn)n为位数
8位的数据D(D7~D0),他的算法为:
D ^= D &&4;
D ^= D &&2;
D ^= D &&1;
最后D就是偶校验的值了。
可能有的同学一时之间看不明白算法的原理,这里解释一下吧。
首先从D里面找两个位D1和D0,而D1D0的偶校验值E0=D1^D0,这个大家都明白的,然后D3和D2的检验值E1=D3^D2,同理还有E2=D5^D4以及E3=D7^D6;
E0=1时代表了D1和D0里面有奇数个1,E1、E2和E3同理;
然后复习一下小学数学:奇数*奇数=奇数,偶数*奇数=偶数
如果E0和E1里面有奇数个1,那么D3~D0里面就有奇数数个1,此时D3~D0的偶校验值为1;
&如果E0和E1里面有奇数个1&这句话的意思不就是求由E1和E0组成的两位二进制的偶校验么?而且当E1E0的偶校验值F0=1时,对应的D3~D0的偶校验值也为1。
同理,E3E2的偶校验值F1=1时,对应的D7~D4的偶校验值也为1;
继续同理,由F1和F0组成的两位二进制的偶校验G0=1时,对应的是E3~E0的偶校验值为1,同时对应的D7~D0的偶校验值为1。
于是求D7~D0的偶校验值变成了求F1F0的偶校验值。
那么首先就要将D7~D0的8个位两两分组后在分别求异或,然后再将得出的值的4个位两两分组后分别异或,最后将得出的值的2个位进行异或,得到的值就是D7~D0的偶校验值了。
而分组则不必是相邻的,将D右移4位再和原来的D进行异或的话就简单多了
如此类推,每次先进行右移,然后和原来的值异或,最终就能得到D的校验值了;另外在计算的过程中,仅仅需要关注后面的位数就可以了,如第二次计算时,高4位会有一些数据,到最后高7位也会有数据的,但这些数据都已经没有用了,所以最后只需要来一个&1就可以l。
于是文章开头的那段8位二进制数的算法为:
D ^= D &&4;
D ^= D &&2;
D ^= D &&1;
另外对于2^N位二进制数,第一次右移(2^N)/2位后再异或,然后重复类似的计算N次就可以了。
阅读(...) 评论()个位猜奇偶?_百度知道
个位猜奇偶?
个位猜奇偶?我刚抱养一只两月大边牧犬,不听话脾气倔强,狠狠打了两次。被打还一点悔改意识都没有,现在更对我没一点现在无论我怎么样叫它它都不理不听,没有反应,不会离我太近,我想问它长大以后都不会服从我,认我是它主人了吗?“当初你不好好珍惜 现在好...
您的回答被采纳后将获得:
系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
我有更好的答案
醉江山(广利 智谷 维加斯)玩儿法被定性违法,2018年答题猜数字商城这种新型商城模式在市场的激烈竞争中应运而生,将会成为主流模式,风险小,易操作,迎合大众喜好,容易普及。
1条折叠回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 8位数据奇偶校验算法 的文章

 

随机推荐