gpt4 book ai didi

C++ 位串到int的转换

转载 作者:太空狗 更新时间:2023-10-29 23:40:37 26 4
gpt4 key购买 nike

我正在尝试将长度为“sLength”的位串 (bitString) 转换为 int。以下代码在我的计算机上对我来说工作正常。有没有可能不起作用的情况?

int toInt(string bitString, int sLength){

int tempInt;
int num=0;
for(int i=0; i<sLength; i++){
tempInt=bitString[i]-'0';
num=num+tempInt * pow(2,(sLength-1-i));
}

return num;
}

提前致谢

最佳答案

pow 适用于 double 。结果可能不准确。改用位运算

num |= (1 << (sLength-1-i)) * tempInt;

也不要忘记 bitString 包含“0”和“1”以外的符号或太长的情况

关于C++ 位串到int的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18132179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com