- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二进制数据处理
二进制数据处理 福州大学2013级计算机类一班 031302126 杨锦洲 2014.09.08 问题描述 给定一个正整数 N,找出另一个正整数 M,使得 N 和 M 转化为二进制时,它们所出现的“1”的个数一致,且 M 必须比 N 大。输出一个满足条件的最小的 M。 例如 78,转换成二进制为 1001110,这个二进制数中有 4 个“1”。而 83(1010011)和86(1010110)都满足二进制中“1”的个数与 78 一样,且值都比 78 大。但显然 83 是最小的那个,输出它。 问题分析 N:给定的正整数;M要找到的数。 对M的要求: 一、“1”的个数与N相同; 二、大于N; 三、所有符合条件的数中的最小值。 问题解决 针对问题一:将N转换为二进制存储在数组中 考虑到问题二和三,这里采用逆序存储(低 位在前,高位在后)。 针对问题二、三:将“1”往高位移位。 例如:N:100101(正常二进制数)→101001(数组中) 将数组中第一个“1”向后移一位就可以得到 M的逆序二进制数。 核心代码 for(i=0;n!=0;i++) { t[i]=n%2; n=n/2; } 核心代码 m=t[k-1]; t[k-1]=t[k]; t[k]=m; 算法的优缺点分析和改进 算法优缺点分析: 优点:只需要通过简单的移位;思路简明清 晰; 缺点:需要多考虑细节;程序实现上稍微复 杂 总结 整个算法的时间主要花费在几个循环结构上,特别 是当数值较大的时候。因为时间复杂度较难计算, 便没有进行统计。 这里有个细节:当遇到低位全为0高位全为1的情况 如:11111100000(11位)时由于数组t[17]所有元 素初始值为0,此时j=5、k=11,只要将t[10]与t[11] 交换,并将低位的0(t[0]~[t4])与高位的1(t[5] ~t[9])交换就得到10000011111。 0 1 1 1 0 0 1 用数组t[17]存储N的逆序二进制数。 (N=1000002^17=131072) 78(1001110)→ (t[17]数组中) for(j=0;ji;j++)if(t[j]==1) { for(k=j+1;;k++)if(t[k]==0)break; break; } 找到最低位的1以及与其最近但比它高位的0 t[1]、t[4] (j=1,k=4) 0 1 2 3 4 5 6 标号 t (数组所有元素皆已初始化为0) 0 1 1 1 0 0 1 高位的0降位 if(k-j1) for(ints=0;s(k+1)/2;s++,j++) {m=t[s];t[s]=t[j];t[j]=m;} 0 1 1 0 1 0 1 ↓ 判断0降位之后比0低位的1是否需要降位 通过数组元素的交换完成降位 for(k=i;k=0;k--)sum+=t[k]*pow(2,k); 二进制转十进制
您可能关注的文档
- 事故树分析基础.ppt
- 事故应急救援预案修改版.ppt
- 事故性质认定与责任追究.ppt
- 事故应急预案培训讲座.ppt
- 事故树的编制.ppt
- 事故树的定性分析.ppt
- 事故调查与处理.ppt
- 事故致因理论.ppt
- 事故车定损工作流程.ppt
- 事故概念和理论.ppt
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
最近下载
- 宏观经济学计算题大全.doc VIP
- 苏教版数学四年级上册第八单元认识射线、直线和角(课件).pptx
- 某市棚户区改造中区市政道路建设工程路面天然砂砾垫层施工方案.doc
- 淀粉制品公司风险分级管控与隐患排查治理双体系双控手册2022-2024.doc
- 福建省 政和县志.pdf
- 知识产权对策、研究成果管理及合作权益分配.pdf VIP
- 人工智能对学习、教学和教育的影响-The Impact of Artificial Intelligence on Learning, Teaching, and Education.docx
- 中越边广西龙邦镇护龙村跨国婚姻问题研究及对策.doc VIP
- 小学道德与法治六年级下册《我们生存的家园》教学设计及反思.doc
- 宏观经济学计算题.docx VIP
文档评论(0)