gpt4 book ai didi

algorithm - 如何轻松地将一个整数转换为两个整数并进行逆转换?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:31:02 26 4
gpt4 key购买 nike

我有几个整数 (x,y),其中 0 < y <= x <= 6。
我只需要将它们存储到一个名为 z 的列中。
我想要 F1、F2、F3 这三个函数来解决这个问题:

z=F1(x,y)
x=F2(z)
y=F3(z)

我的第一种方法:

F1 : 10*y+x
F2 : (z-z%10)/10
F3 : z%10

我必须在包含数百万行的表的 WHERE 子句中使用它。
有更好的主意吗?

最佳答案

我会使用:

  F1 : z=10*x+y
F2 : x=z/10
F3 : y=z-F2*10

也许,如果你取 16 个碱基,它会在内部进行优化吗?我会尝试以 256 为基数 - 因此一个数字位于一个字节中。

F1 : z=256*x+y
F3 : y=z&255 // that is definitely faster
F2 : x=z/256

由于 SQL-server 没有 >> 或 << 运算符,恐怕到此为止了。

关于algorithm - 如何轻松地将一个整数转换为两个整数并进行逆转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16011067/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com