c++ - 将 50 位二进制值转换为整数

标签 c++ string long-integer type-conversion

我在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/

相关文章:

java - 在Java中使用String.format而不是字符串连接是更好的做法吗?

c++ - 使用字符串初始化wchar_t []

c# - 更高效的循环?

c++ - 如何在 Qt 中创建处理程序?

c++ - 使用从外部文件导入的数据进行循环

java - (可能很奇怪)长增量行为?

ios - 在iphone中显示长应用程序名称

java - 为什么 long 在 Java 中被转换为 double?

c++ - 在结构体中设置函数

c++ - 将 Lambda 表达式转换为函数指针