gpt4 book ai didi

c - 在 C 中使用按位运算和指针算法将二进制转换为无符号整数

转载 作者:太空宇宙 更新时间:2023-11-04 07:33:18 25 4
gpt4 key购买 nike

我只能用位运算和指针运算来解决这个问题。我正在从二进制转换为无符号整数。

我写的函数是:

unsigned int atob(const char* nptr);

atob("101") 应该返回 5,atob("11000") 应该返回 24,atob("11$") 应该返回 3,atop("") 应该返回 0。

我对按位运算还很陌生,所以我确实需要一些专门针对该领域的帮助。

编辑:

nptr 只能递增,不允许其他 inc/dec。

最佳答案

unsigned bits2val(char *bits)
{
unsigned val;

for (val = 0; *bits; bits++) {
if (*bits == '1')
val = (val << 1) | 1;
else if (*bits == '0' )
val <<= 1;
else
break;
}

return val;
}

关于c - 在 C 中使用按位运算和指针算法将二进制转换为无符号整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11310796/

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