我想在 Java 中创建自己的数字范围,并且仍然能够使用正常的数字。我似乎无法解决它!无需对每个结果进行硬编码。
比方说。整数像 0, 1, 2, 3, 4, 5, 6, 7, 8...。依此类推(我知道!也有负整数)
现在,我想制作我自己的“数字”,既可以用作整数,也可以用作它们自己的类型。
数字范围的简单切割是 1, 2, 3, 5, 4, 7, 6, 9, 10, 11, 8, 13, 14, 15, 12, 17, 18, 19, 20, 21, 22, 23、16……等等……所有数字的表格如下所示。(我不需要 767 以上的任何数字,但下一个数字是 512,然后是 769+ 等等。
1 2 3 5 4 7 6 9-11 8 13-15 12 17-23 16 25-31 24 33-47 32 49-63 48 65-95 64 97-127 96 129-191 128 193-255 192 257-383 256 385-511 384 513-767
现在让我们称这些数字为 tni(与 int 相对)
假设我想将 (int)A 添加到 (tni)B 这应该是正常的数学运算。因此,如果 A = 4 且 B = 6,则结果将是 10,而不是 8。
但如果我想看看 2 个 tni 中哪一个是最高的。假设 A=8 和 B=10,id 会告诉我 A 更高,因为在 tni 范围内,8 在 10 之后。
这可能吗?