问题标签 [ternary-representation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 匹配计数条件的小数
对于所有长度为 36 的三进制数(包括以 0 开头的三进制数),有多少个具有完全相同的 1 和 2 计数,或者恰好多 1 比 2?
例如:
- 00 - 是
- 01 - 是的
- 02 - 没有
- 10 - 是的
- 11 - 没有
- 12 - 是的
- 20 - 没有
- 21 - 是的
- 22 - 没有
因此,对于所有长度为 2 的三进制数,9 种可能性中有 5 种匹配。这大概会随着长度的增加而变小。对于长度 3,27 个中有 13 个。
如果我们正在处理二进制数,这里有许多可用的解决方案,但我不清楚如何将这些推广到三进制数。
computer-science - 为什么是二进制而不是三元计算?
三态对象不是立即能够保存更多信息和处理更大的值吗?我知道处理器目前使用大量的异或门网络,这需要重新设计。
由于我们处于 64 位(我们可以表示 2^63 个可能的状态)计算等效的三元生成可以支持多 30 个十位 log(3^63-2^63) 的数字。
我想检测 +1 和 0 之间的电位差就像检测 -1 和 0 之间的电位差一样容易。
硬件、功耗或芯片密度的某些复杂性会抵消存储和计算能力的任何收益吗?
bits - 6 个三元组如何等于 9.5 位?
这个 reddit线程说6 trits ~ 9.5 bits
。
6 trits ~ 9.5 bits 怎么样?
algorithm - 二进制到三进制表示转换
是否有人知道(或可能指向某些来源以阅读)将二进制数字系统表示的数字转换为三进制数字系统(我的特殊情况)的方法或算法,或用于此类转换的通用算法?
我已经实现的解决方案是先将数字转换为十进制,然后将其转换为所需的数字系统。这可行,但有两个步骤。我想知道是否可以在不先实现三进制算术的情况下轻松一步完成?有什么诀窍吗各位?
UPD:我似乎没有设法清楚地描述我正在寻找哪种转换方式。我不是在要求某种将base-2转换为base-3的方法,我确实知道如何做到这一点。您可能会认为我有用于三进制和二进制数的代数数据结构,在 Haskell 中它看起来像这样:
有两种明显的方法可以将一个转换为另一个:首先将其转换为 Integer 并获得结果(不是有趣的方法),第二个是在 base-3 中实现自己的乘法和加法,并将结果乘以数字值计算为两个的各自力量(直截了当和沉重)。
所以我想知道除了这两种方法之外是否还有另一种方法。
regex - 三进制数,正则表达式
我正在寻找一些正则表达式/自动机帮助。我仅限于+
或 Kleene Star。解析表示三进制数的字符串(如二进制,只有 3),我需要能够知道结果是否为 1 小于 4 的倍数。
所以,例如120 = 0*1+2*3+1*9 = 9+6 = 15 = 16-1 = 4(n)-1
。
即使是指向模式的指针也会非常有帮助!
c++ - 二进制比特流与三进制比特流的转换?
我需要将任意长度的二进制转换为精确的三进制表示。理想情况下,给定一个位数组char buffer[n]
,该算法将能够产生一个三元组(位模拟),反之亦然。有这样的算法吗?
我知道将个人转换int
为三元的方法:
唉,即使是比特流也是long long long int
不够的。我认为使用一个大整数库就足够了,虽然我不确定,并且觉得应该有更好的方法来计算三元表示。
一个视觉示例:
短流很简单,因为它很好地适合 a int
,所以nth_trit
可以使用该函数,但长流不能,所以除了使用大整数库之外,我没有想到简单的解决方案。
java - java中的三叉搜索树
我基本上正在研究java中的三元实现。我不想使用ajax。我正在研究二元模型,所以想自动完成下一个字母表。谁能建议如何实现?
谢谢
gnuplot - 三元图热图 Gnuplot
我有 4 列数据: a:b:c:t 我希望 abc 成为我的三元图上的坐标,然后相应的 t 列将提供每个点的“热度”。到目前为止,我有生成常规三元图的代码,我的数据位于 .txt 文件中,格式如下:
提前感谢您的帮助。
algorithm - Google Foobar 挑战:特殊平衡
我正在解决一个问题,您将一个以 10 为底的正整数在0
和之间1000000000
转换为平衡的三元形式,作为 Google 代码挑战的一部分。它似乎适用于我在约束下测试过的各种情况,但由于某种原因它未能通过测试 4 和 5。你能看出这有什么问题吗?
bits - 如何找到 9 位三进制数的最小值
我得到了以下问题:三进制计算机使用三元组而不是位元(三元组的值可以是 0、1 或 2)。三进制计算机具有数字的 9 位浮点表示。Trit 8,MST(Most Significant Trit),是符号 trit(1 为正,2 为负)。Trits 7-5 包含指数,偏差为 13(即,从值中减去 13 以获得实际指数)。Trits 4–0 包含有效数字
一世。可以用这种方式表示的最小值是多少?ii. 可以表示的最小正值是多少?
我不太知道如何回答这两个问题。在我。我想以负位 2 开始 num,然后继续使用我能找到的最高数字 = 222..2 和 ii。我会将 MSB 更改为 1 和 exp。为 0,其余的可能是我能找到的最低 num = 10..001 但正确的答案是:
一世。-(2*3^13 + 2*3^12 +..+ 2*3^9) - 为什么 LSB 以 3^9 而不是 3^0 开始?ii. 3^(-17)
你能引导我发现我的错误并解释我如何正确解决它吗?谢谢 :)