c - C语言中如何将二进制数组转换为十进制数

标签 c binary decimal

我在将二进制数组转换为十进制数时遇到困难:

bin[8] = {10,00,00,10};

我想要这个数组元素的等价十进制数,即 130

最佳答案

标准解决方案如下:

int f(char s[])
{
    int n = 0;
    int i;

    for (i = 0; i < 8; ++i) {
        n <<= 1;
        n += s[i] - '0';
    }

    return n;
}

关于c - C语言中如何将二进制数组转换为十进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49510216/

相关文章:

c++ - 自相关返回麦克风输入的随机结果(使用高通滤波器)

c - 为什么 printf ("%d", ~a);当 a 等于 3 时显示 -4?

Delphi 的 C 头文件

struct - 如何在没有反射的情况下将结构转储到字节数组中?

sql - 写入具有两位小数的数字 SQL Server

c - 管道到 gnuplot,不接受多个命令

c - 字符转二进制(ASCII)的递归函数

node.js - 如何通过 NodeJS 在文件中一位一位地写入和读取?

python - 如何在python中将 float 转换为定点小数

C中十进制转二进制