gpt4 book ai didi

将数组中的位转换为十进制数

转载 作者:行者123 更新时间:2023-11-30 21:47:22 25 4
gpt4 key购买 nike

我需要一个可以转换数组的二进制内容的函数(C 语言),在本例中 myArray[8] {*MSB* 1, 1, 1, 1, 1, 1, 1, 1 *LSB*}转换为十进制当量 = 255。

关于如何尽可能高效地解决这个问题,有什么想法吗?就像在微 Controller 上完成的那样?

最佳答案

使用按位移位

#include <stdio.h>

int main(void) {
char myArray[8] = {1,1,1,1,1,1,1,1};
int i;
int result = 0;
for (i=0; i<sizeof(myArray); i++){
result += myArray[sizeof(myArray)-i-1] << i;
}
printf("%d\n", result);
return 0;
}

关于将数组中的位转换为十进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35336801/

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