gpt4 book ai didi

c++ - 如何使用 C++ 将一串二进制数转换为带符号的十进制表示形式?

转载 作者:行者123 更新时间:2023-11-27 23:56:16 25 4
gpt4 key购买 nike

我有一个字符串:

1010

字符串的无符号表示在执行后为 10:

string immediateValue = "1010";
char immediateChars[5];
strcpy(immediateChars, immediateValue.c_str());

char * ptr;
long parsedInteger = strtol(immediateChars, &ptr, 2);

据我了解,strtol 只能用于获取无符号表示。有没有办法得到 2 的补码值,即 -6?

最佳答案

检查你的第一个字符,如果它是 0 然后使用 n = strtol 正常,如果它是 1 然后翻转位,例如“1010”到“0101”,然后取翻转字符串的 strtol,该值的负数减一就是你的答案。

关于c++ - 如何使用 C++ 将一串二进制数转换为带符号的十进制表示形式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42451360/

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