C语言二进制与十进制相互转换的方法

分类:知识百科 日期: 点击:0

C语言二进制与十进制相互转换是一个比较常见的操作,它可以帮助我们更好地理解数据。二进制和十进制之间的转换可以使用以下几种方法:

1. 使用移位运算

#include 

int main(void)
{
    int n;
    scanf("%d", &n);
    int i;
    for (i = 31; i >= 0; i--) {
        printf("%d", (n >> i) & 0x1);
    }
    return 0;
}

上面的代码可以将十进制数转换为二进制数,其中 n 为要转换的十进制数,i 为二进制位数,从最高位开始,每次右移一位,并与 0x1 做与运算,以获取当前位的值。

2. 使用除2取余法

#include 

int main(void)
{
    int n;
    scanf("%d", &n);
    int i;
    int a[32];
    for (i = 0; n > 0; i++) {
        a[i] = n % 2;
        n /= 2;
    }
    for (i--; i >= 0; i--) {
        printf("%d", a[i]);
    }
    return 0;
}

上面的代码可以将十进制数转换为二进制数,其中 n 为要转换的十进制数,i 为二进制位数,从最低位开始,每次除以 2 取余,以获取当前位的值。

3. 使用位掩码法

#include 

int main(void)
{
    int n;
    scanf("%d", &n);
    int i;
    int mask = 0x1;
    for (i = 0; i < 32; i++) {
        printf("%d", (n & mask) >> i);
        mask <<= 1;
    }
    return 0;
}

上面的代码可以将十进制数转换为二进制数,其中 n 为要转换的十进制数,i 为二进制位数,从最高位开始,每次将掩码左移一位,并与 n 做与运算,以获取当前位的值。

以上是 C 语言二进制与十进制相互转换的三种方法,可以根据不同的需求选择不同的方法,以实现二进制与十进制之间的转换。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。