小编lem*_*mon的帖子

任意整数的C++随机数(基本类型)

我有一个任意整数类型的typedef,例如

typedef unsigned long long myint;
Run Code Online (Sandbox Code Playgroud)

换句话说,我不知道它是如何定义的,但我可以保证它是一种基本类型.

我也有这种类型的变量实例

myint n;
Run Code Online (Sandbox Code Playgroud)

如何分配n可能是由支持的任何值的随机值myint


简单地缩放rand()覆盖范围的结果myint将不合适,因为myint可能会比int类型更大,因此将存在无法访问的数字.

像下面这样的东西可以工作,但似乎相当不优雅和低效:找到in myint和in中的位数int,然后连接一堆rand()数字直到myint填充.

c++ random typedef

3
推荐指数
1
解决办法
94
查看次数

密钥为2的幂的快速映射(C++)

我有一小组正整数(大约10个数字),每个都是2的幂.

如何尽快将每个号码映射到其他号码?


这里有两个可行的解决方案但是,考虑到问题的简单性(以及我有多少键),它们看起来都是不必要的迟缓(我错了吗?):

  • 用一个 std::map
  • 计算密钥的log-base-2(32位数字的7个操作,64位的9个操作),然后使用它来查找数组中的相应值

完全避免映射问题,例如,用一个携带对的结构替换我的整数可能是最快的解决方案,但它会使我的大部分代码复杂化,所以我不愿意这样做.

c++ hashmap data-structures

2
推荐指数
1
解决办法
73
查看次数

标签 统计

c++ ×2

data-structures ×1

hashmap ×1

random ×1

typedef ×1