【发布时间】:2016-03-09 23:28:56
【问题描述】:
我有一个布尔列表,我正在尝试将其转换为一个 _int64。布尔列表是由 8 个字符的字符串创建的,因此它的长度永远不会超过 64。
我试过这样做:
我将一个 const std::list& binList 传递给函数。
_int64 x = 0;
for(auto citer = binList.begin();citer!=binList.end();citer++{
x*=10;
if(*citer) x++;
}
这显然行不通,因为如果有一个 0 列表,int 将永远不会变大,但我得到的输出甚至不只包含 1 和 0。它包含随机数。不太确定最好的方法来做到这一点。提前致谢。
要求举个例子,所以这里是一个: binList 包含:
{0,1,1,0,1,0,0,0,0,1,1,0,0,1,0,1,1,0,0,0,1,1,0, 1,1,0,0,0,1,1,0,1,1,1,1,1}
当我通过该循环运行它时,x = -3830736327776896713。
如果不清楚,我希望 x 包含 01101000011001011000110110001101111。
【问题讨论】:
-
您没有向我们展示足够的相关代码来确定问题所在。请努力将您的问题代码减少到 Minimal, Complete, Verifiable Example 并将其包含在您的帖子中。