HTK新闻网

三进制与二进制属于各自独立的底层架构,这是确凿无疑的,既然华为已经申请了专利,那

三进制与二进制属于各自独立的底层架构,这是确凿无疑的,既然华为已经申请了专利,那它必然是独立的架构。但有一点我搞不明白,就是在它为三进制的情况下,转换并输出为十进制的时候,是否会存在误差呢?

这个问题问得贼实在!咱得掰开揉碎了聊。三进制计算机用0、1、2三个状态干活儿,二进制靠0和1打天下,底层电路设计、运算逻辑那绝对是两码事,华为敢申请专利,技术独创性这块儿没跑。可你担心十进制转换出误差,这心思我懂——毕竟咱人类最熟悉的还是十根手指头数出来的十进制嘛。

进制转换的本质是数学,不是玄学 甭管你是二进制、三进制、还是八进制十六进制,想把一个数转成十进制,核心就是按“权”展开再求和。比方说,三进制数 “121” 转十进制: 1 * (3^2) + 2 * (3^1) + 1 * (3^0) = 1*9 + 2*3 + 1*1 = 9+6+1=16。 瞧见没?只要数学上定义清楚,转换过程就是纯计算,跟1+1=2一样确定无疑。只要是整数,甭管从几进制转十进制,理论上都不会有误差! 整数在数学上是离散的、精确的点,转换就是换个马甲重新表达同一个值。

麻烦出在小数和浮点数这儿! 这才是你担心误差的根源地带。为啥?因为很多十进制小数,在二进制或三进制里,可能是无限循环的!举个最经典的例子: 十进制 0.1 (十分之一),转成二进制是 0.0001100110011... (无限循环)。 计算机存储位数有限啊,不可能存无限长,只能截断或舍入,这就产生了表示误差。 那三进制呢?十进制 0.1 转三进制是啥?算一下:0.1 (十进制) = 0.002200220022... (三进制,也是无限循环)。 看见了没?它在三进制里也是个无限循环小数!同样受限于计算机存储位数,也得截断或舍入,误差还是跑不掉。

所以,误差的锅,不该让“三进制转换”来背! 问题的根子在于:有限存储精度 VS 无限精度的数学现实。这个矛盾,二进制有,三进制有,其他进制也一样有!只要你计算机用有限位来表示数,碰上这种在目标进制下是无限循环的小数,误差就注定存在。这跟你从哪套底层架构(二进制、三进制)出发去转换,关系不大!关键看这个数在“目标进制”(这里指十进制)下是不是能精确表示。十进制小数能精确表示的(比如0.5,0.25),转过去就没问题;不能精确表示的(比如0.1,0.2),转过去就可能掉精度。

华为三进制的“误差”疑虑,可能想岔了方向 你琢磨的误差,更可能发生在这些地方: 1. 内部运算累积误差:三进制计算机做浮点数运算(加、减、乘、除),每一步都可能因为舍入产生微小误差。算得越多,误差可能像滚雪球一样累积变大。但这也不是三进制独有的,二进制浮点运算同样有这毛病(想想著名的 0.1 + 0.2 != 0.3)。 2. 接口转换的精度损失:三进制计算机最终要把结果“呈现”给人看或者给其他十进制系统用。在输出那一刻,如果软件设计时没处理好浮点数格式转换(比如从内部高精度三进制浮点格式转成标准的 IEEE 754 双精度十进制浮点数),可能会引入额外的舍入步骤,导致精度损失。但这属于软件实现层面的问题,不是三进制数学原理的缺陷! 好的软件设计可以最大程度减少这种损失。

批判点来了:过度聚焦“进制转换误差”,可能忽略了真正的价值与挑战! 纠结“三转十有没有误差”,有点像担心电动汽车的轮子是不是圆的——基础数学保证了转换规则本身没问题,误差是有限存储和浮点表示的通病。华为搞三进制,真正的价值在于探索超越冯·诺依曼架构的新可能: 理论潜力:三进制能更自然地表示“真/假/未知”(-1, 0, 1),在某些逻辑运算和AI领域可能有优势。 能效比?:传说中三进制表达信息效率更高(用更少的位数表示更大的数),可能降低某些运算的复杂度,进而省电?但这需要硬件实测验证。 抗干扰?:三态信号(比如用正电压、零电压、负电压)理论上抗噪能力更强? 真正的挑战在于: 生态荒漠:软件、工具链、开发环境几乎为零,从零搭建成本巨高。 硬件实现:稳定、可靠、低成本的三态器件(晶体管/忆阻器?)大规模生产是否可行? 性能优势能否兑现?:理论上的潜力,在真实的芯片上跑起来,真能干翻成熟的二进制芯片吗?这才是最硬的骨头!

误差的担心,基本可以放下。 三进制转十进制本身不会带来“额外”的、进制特有的误差。误差是浮点数表示和有限存储精度的“胎里带”问题,所有数字计算机都逃不掉。

各位读者你们怎么看?欢迎在评论区讨论。

评论列表

追  梦
追 梦 13
2025-07-08 10:19
三进制早在几十年前,苏联就已经使用了,没什么大惊小怪拿出来炫耀的,当年还有3元钱的纸币呢。

霹雳雷龙f 回复 07-08 23:34
但苏联人没发展起来三进制计算机!!好像就发展了一代两代的样子,总共造了不到二十台。

老姜 回复 霹雳雷龙f 07-09 00:13
好像华为早出来了死的。

aaaaa
aaaaa 7
2025-07-08 07:53
信不信?在美欧这事就成了科技之光!
云侠
云侠 6
2025-07-08 16:48
底层进制与高级语言程序没关系,只是CPU内微代码要适应。
战争2013
战争2013 5
2025-07-08 14:07
三进制不必各个部分都是三进制,比如存储可以是二进制,只要有利的部分是三进制就可以了。
迷迷糊糊就走到了这个岁数
迷迷糊糊就走到了这个岁数 2
2025-07-07 18:55
确实,进制在于硬件。
言贩子
言贩子 2
2025-07-07 19:39
加把劲,研究一下蛋白质计算机,用碱基对来计数,4种碱基分别表示00,01,10,11,存储密度大得多。

趙雄托你帮我 回复 07-08 17:42
那个好像叫生物计算机

晚风
晚风 2
2025-07-08 13:45
外行人在这瞎猜,猜来猜去也猜不明白还误导人!
用户当前在线
用户当前在线 1
2025-07-09 00:15
从0开始建起整个三进制生态才是难,甚至不可能,除非计算机界出现颠覆性变革