我在c++中有一个由1和0组成的50位字符串(在外部txt文件中),需要在systemC中使用它(这里不关心)。 现在的问题是: 为了我的目的,需要先将字符串的 50 位转换为整数,然后将整数转换为字符串。 但是当我将字符串转换为整数时,它没有反射(reflect)预期的结果。
string a = "1000000001001000100000010100001001010100010000011";
long int value;
value = atoi(a.c_str());
cout <<"converted value "<<value;
最佳答案
你的 friend 是strtoll
即改变
value = atoi(a.c_str());
至
long long int value = strtoll(a.c_str(), NULL, 2);
关于c++ - 将 50 位二进制值转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40066087/