gpt4 book ai didi

C++ - 变量中的 3 个可能值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:03:16 25 4
gpt4 key购买 nike

我需要存储一个30个字母的组合,但每个字母只能是“0”、“1”或“2”。当我使用 sizeof(myString) 时,它返回 32。

我想使用这个 30 个字母的组合来访问数组的一行,所以我想知道是否可以使用某种类型的 3 值 bool 来存储 3 个值中的 1 个。

最佳答案

3^30 = 205891132094649 (~2E14),小于 64 位整数的最大值 (~2E19),因此您可以将字符串以 1:1 的方式映射到 64 位整数。

一个明显的方法是将您的字符串视为以 3 为基数的数字,这样转换起来会很慢。将其视为基数 4 会快得多,然后可以完全通过位移(无模数除法/乘法)完成转换,这是可能的,因为 4^30 仍然小于 2^64。

关于C++ - 变量中的 3 个可能值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2936165/

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