我正在尝试使用C ++中的stoi将一串有符号二进制数转换为十进制值,如下所示。
我的输入是2s格式的二进制字符串,如果数字位数为8,则stoi函数可以正常工作。例如,“1100”会得到12,因为stoi函数可能将其视为“00001100”。
但对于4位系统,2s格式中的1100等于-4。有什么方法可以在C++中实现任意位数的2s格式数字转换吗?
stoi( binaryString, nullptr, 2 );
我的输入是2s格式的二进制字符串,如果数字位数为8,则stoi函数可以正常工作。例如,“1100”会得到12,因为stoi函数可能将其视为“00001100”。
但对于4位系统,2s格式中的1100等于-4。有什么方法可以在C++中实现任意位数的2s格式数字转换吗?