【发布时间】:2016-06-30 10:35:40
【问题描述】:
我有一个具有某些值的整数类型。例如。说一些int foo 有位表示:
11011001101101011010101000001111
我需要一个函数 f 来操作它,如下所示:在前面加上 0 就可以了
011011001101101011010101000001111 (*)
为了获得我需要的最终值,创建了以下位序列,当 (*) 的连续位不相等时,该位序列为 1。
10110101011011110111111100001000
这是f(foo)
这应该如何在 c++ 中实现?
【问题讨论】:
-
我不明白?设置为第一个值的足够大的容器是否已经预先添加了零?
-
@erip 为什么不呢?它确实...
-
你的意思是增量编码吗?
-
我数 32 位是我对某些东西视而不见还是您被禁止使用 64 位整数?
-
@deviantfan 啊我需要咖啡...评论已删除。
标签: c++ logic bit-manipulation