想把磅调到10公斤二进制思想的诞生

246被浏览71743分享邀请回答46953 条评论分享收藏感谢收起10429 条评论分享收藏感谢收起查看更多回答从一个小问题衍生的方法--三进制数
有一个很久以前(可能有数百年)的问题,是这样:
一个重40磅的砝码,不小心摔成了4块,结果这4块刚好都是整数,而且可以用天平称量1~40以内的任何重量。请问这4块的重量分别是多少。
问题很好分析,天平的特性是,砝码可以放置在两边。也就是说,一个1磅的砝码,可以放在右侧作为砝码,也可以放在左侧作为称量物,放在左侧则最终的称量结果要减去砝码重量。
我们现在考虑只有两个砝码的情况,其中一个砝码是1磅,另外一个假设是2磅。那么称量情况是这样:
1磅砝码&&& 2磅砝码&&&&& 称量的重量右侧&&&&&& 右侧&&&&&&&& 3磅不放&&&&&& 右侧&&&&&&&& 2磅右侧&&&&&& 不放&&&&&&&& 1磅左侧&&&&&& 右侧&&&&&&&& 1磅
从这个表可以看出,当大的砝码是2磅的时候,砝码分置两侧,并不能得到一个新的称量结果,所以大的砝码至少应该有3磅,结果变成:
1磅砝码&&& 3磅砝码&&&&& 称量的重量右侧&&&&&& 右侧&&&&&&&& 4磅不放&&&&&& 右侧&&&&&&&& 3磅右侧&&&&&& 不放&&&&&&&& 1磅左侧&&&&&& 右侧&&&&&&&& 2磅
两颗砝码,可以称量4种重量。用大于3磅的砝码也可以称量4种重量,但是那样的话结果就不连续了。
现在把这两个砝码作为一个组合,加入更大的第三颗砝码,那么为了同样满足砝码分置两侧得到不同结果,第三颗砝码的重量应该是:2×两颗之和+1,也就是9磅。然后利用前两颗的拆分交替,就可以得到1~13的任何重量。
同样的可以轻易计算出第三颗砝码是 13×2+1 = 27磅。
这样,1,3,9,27,4颗砝码组成了一个以3为倍率的等比数列。这4颗砝码可以称量1~40之间的任何整数重量。
回到最初的问题,我们可以抽象为:用4个位,表达至少40个不同的量。而考虑到砝码有放在左侧,右侧和完全不使用三种状态,这其实是个三进制数,一个有4位的三进制数。
4位三进制数能够表达的范围是81,在天平的问题中,称量物放在左侧和右侧可以认为是两种不同的结果(或者说是符号位),而称量物也没有放置(或者说重量为0)也算一种情况,刚好造成81种结果。
这个问题到此就完整的结束了。
之所以会考虑这个问题,是因为我在设计一个单片机电路的时候,无意中利用到单片机口线的三种状态。
三种状态就表达了一个三进制位,这样利用7条口线,就可以表达3^7 = 2187种状态,这个数字已经超过了11bit的二进制位(2048),利用这个特性可以用更少的口线,实现更多的功能,更有效的利用单片机有限的资源。
re: 从一个小问题衍生的方法--三进制数
之所以会考虑这个问题,是因为我在设计一个单片机电路的时候,无意中利用到单片机口线的三种状态。
三种状态就表达了一个三进制位,这样利用7条口线,就可以表达3^7 = 2187种状态,这个数字已经超过了11bit的二进制位(2048),利用这个特性可以用更少的口线,实现更多的功能,更有效的利用单片机有限的资源。
-----------
以上文字没有看懂,能否解释一下?
re: 从一个小问题衍生的方法--三进制数
nice&work&相当牛&谢谢共享~~~~
re: 从一个小问题衍生的方法--三进制数
我想问一下,一个三进制的文件,如果解析呢
比如字节24&19&
如何算出=X-15&Y+18呢!
您还没有登录,请或
访问:94369次
积分:1520分
排名:第9名
随笔:152篇
评论:1161条
阅读排行榜
评论排行榜
pamire:由于不清楚闰年多少年一个轮回,因此1970年的年数有限制,具体多少年没有测试过
测试产生的时间戳与...
pamire:这个day为负数,是 00:00:00之前的天数。
这个功能是用来与java产...
fengshu:这个是微软的一个BUG
int CString::Remove(TCHAR chR...
allme:白话文到文言文,压缩率比ZIP还要高!
Freedom:re: FireFox是2008年漏洞最多的浏览器?佩服21cn的垃圾翻译水准..
nop:re: FireFox是2008年漏洞最多的浏览器?佩服21cn的垃圾翻译水准..
Firefox...
疯子阿虹:re: FireFox是2008年漏洞最多的浏览器?佩服21cn的垃圾翻译水准..
我对FF一直都...
大虾米(dxm)的技术博客:re: FireFox是2008年漏洞最多的浏览器?佩服21cn的垃圾翻译水准..
此文有水准!是...
gooyue:re: 临时保存
http://xiamenseo1./&&n...
厦门seo新浪博客:re: 临时保存
&A&href=&http://xiamenseo1....重磅:三进制存储器可运行计算任务!
重磅:三进制存储器可运行计算任务!
环球创新智慧
导读存储芯片,一般都是用于数据的存储和访问。然而,传统意义上讲,计算任务,一般是由处理器芯片来完成。可是,最近一支国际性科学家团队找到了一种创新途径,设计了一种三进制系统存储芯片。它即不同于传统的二进制数字系统,又可以抛开处理器,自己运行“计算任务”。显微镜下的 ReRAM电路(图片来源于: Wonjoo Kim, Peter Grünberg Institut 7, Forschungszentrum Jülich GmbH)简介这种新型存储器芯片是由新加坡南洋理工大学、德国亚琛工业大学、 欧洲最大的跨学科研究中心德国尤利希研究中心联合开发。南洋理工大学的助理教授Anupam Chattopadhyay 、德国亚琛工业大学的教授 Rainer Waser、德国尤利希研究中心的 Vikas Rana博士,参与了这项开发。最近,这项科学发现发表于《科学报告》杂志(自然出版集团下属的一个同行评议的杂志)。ReRAM这项研究使用了基于氧化还原反应的可变电阻式存储器(ReRAM)。ReRAM 一般是通过改变绝缘固体材料的电阻,实现数据存储的电子器件,它的原理基于忆阻器。惠普实验室设计的忆阻器(图片来源于:维基百科)它既有可以和DRAM媲美的读写速度,又具有固态硬盘的非易失性,是即将商用的速度最快的存储器模块。目前,致力于ReRAM 商业化和开发企业,包括闪迪、惠普、索尼、松下、美光、海力士等等。三进制目前,市场上所有的计算机处理器,都使用了二进制系统,即数据由两种状态组成,0或者1,例如字母B,在计算机内就存储为“”的形式。数字1到27,三进制(第一行)、二进制(第二行)、十进制(第三行)数字对照表。(图片来源于:维基百科)然而,ReRAM 电路所表示的数据状态,并不是0和1两种,它可以存储和处理数码有:0、1、2,即“三进制数字系统”,从而可以存储更多的数据状态。原因就是,ReRAM使用不同的电阻来存储信息,从原理上来说,可以突破现有二进制系统的限制,显著提升计算任务的处理速度。来自南洋理工大学的计算科学和工程系助理教授 Chattopadhyay 是该存储器三进制系统的主要设计者。他认为在目前的计算机系统,所有的信息在计算处理前,必须以一连串的0或者1的数据形式存储。所以,他解释道:“这好比使用小型翻译器和某人进行长篇对话,这会是一个耗时耗力的过程。我们现在增加这个小型翻译器的容量,使它可以更加有效地处理数据。”计算目前,移动设备和电脑,都是沿用传统的体系结构,从内存中获取数据,然后传输到处理器单元,再进行计算。然而,南洋理工大学设计的这种具有计算功能的存储器,无需在处理器和存储器之间进行数据传输,不仅节省了时间,而且降低了能耗。意义计算机软件正在变得越来越复杂,数据中心需要处理比以往更大量的数据。所以,对于全球产业来讲,寻找更加快速高效的计算处理,是目前最迫切的需求之一。相比当前的计算机和移动设备中的处理器速度,该存储器设备的速度可提高达两倍或者两倍以上。存储器芯片能够完成计算任务,就无需处理器对于数据的处理,这样不仅速度会加快,而且空间上可以节省不少,让电子设备变得更小和更轻。研究人员认为,因为ReRAM 接近商用和上市,所以使用ReRAM进行计算,会比其他即将到来的计算技术成本更低。Waser 教授解释道:“ReRAM,目前是一种通用非易失存储器的概念。这些设备能耗低、速度快,体积可以压缩的更小。它们不仅可用于数据存储,也可以用于计算,为在信息技术中更加有效的利用能源,开辟了一条全新的途径。”ReRAM性能卓越,它不仅具有长期的存储容量、低能耗,也可以进行纳米级制造。很多半导体公司,纷纷被吸引,投资研发这项技术。同时,它也将对于革新消费电子和可穿戴产品的设计产生深远的影响。未来这个研究团队目前正在寻找行业合作伙伴,利用这项重要科学进展。与此同时,研究人员也在进一步开发ReRAM,未来有望处理比三进制更多的状态,更大幅度地提高计算机计算速度。另外,他们也希望在实际的计算场景中测试这项技术的性能。参考资料【1】http://media.ntu.edu.sg/NewsReleases/Pages/newsdetail.aspx?news=1fcbbe9-ae88b572【2】Wonjoo Kim, Anupam Chattopadhyay, Anne Siemon, Eike Linn, Rainer Waser, Vikas Rana. Multistate Memristive Tantalum Oxide Devices for Ternary Arithmetic. Scientific Reports, 652 DOI: 10.1038/srep36652
本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。
环球创新智慧
百家号 最近更新:
简介: 最新颖最前沿的技术和创新
作者最新文章扫二维码下载作业帮
3亿+用户的选择
下载作业帮安装包
扫二维码下载作业帮
3亿+用户的选择
德梅齐里亚克的砝码问题一位商人有一个40磅重的砝码,由于跌落在地而碎成4块,称得每块碎片的重量都是整磅数,而且可以用这4块来称出从1到40磅之间的任意整数磅的重物,请问这4块碎片分别为多重? 本人在百度上搜到过相应的答案,但是觉得解释的不够透彻,现寻求这道题透彻易懂的答案,谢谢!
作业帮用户
扫二维码下载作业帮
3亿+用户的选择
晕,能够算出四块分别是27,9,3,1.因为任何一个1-40.都能写成A*3^3+B*3^2+C*3^1+D*3^0.构造一个三进制的数.则1-40改为三进制数表示为(ABCD)3.A,B,C,D表示各个数位上的数,其取值范围为{0,1,2}.当四个数位上的数值都是0或者1时,用对应的砝码放在同一个盘称就行了,当某个数位上的数值为2的时候,则把它前一位的砝码和其他需要的砝码放一个盘,这一位的砝码和重物放一个盘就能称.如需要称33磅,他用三进制的数表示为(1020)3,将27磅和9磅的砝码放左盘,3磅的砝码放右盘和重物放一起就能称量.另外,如前一位的数值为1或者2的时候,应该再往前推一位,如15磅,写成三进制的数为(0120),应将一个27磅的砝码放左盘,右盘放9磅和3磅的砝码,加上重物就能称量了.这是利用了3的N次方,通过加减运算能表示仍一个正整数的原理.为什么呢,刚才构造的三进制的数是能表示任一个正整数的,当进行减法运算的时候,就可以表示成该数位上的数为-1.也就意味着,他的前一个数位应该加1,而这个数位的数值变成了2.这样3的N次方加减后,得到的数,能够表示成三进制数的形式,所以也就能表示任一个正整数了
为您推荐:
其他类似问题
扫描下载二维码}

我要回帖

更多关于 如何把栅格图二进制化 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信