C 语言中怎么将正整数转化为二进制? 您所在的位置:网站首页 wifi解锁神器哪个好 C 语言中怎么将正整数转化为二进制?

C 语言中怎么将正整数转化为二进制?

2024-05-24 07:59| 来源: 网络整理| 查看: 265

在C语言中,可以使用移位运算符和按位与运算符来将正整数转换为二进制数。

第一种方法是使用移位运算符,即将要转换的数不断右移一位,每次取出最低位的值,直到将所有的数位都取完。代码如下:

```c

void dec2bin(int n){

if(n > 1)

dec2bin(n>>1);

printf("%d", n & 1);

}

```

该函数使用递归的方式不断进行右移和按位与操作,直到n的所有数位都被取出。该函数可以将n转换为二进制数输出。注意,该函数输出的二进制数是反向的,需要先将数位全部取出再将它们反序输出。

第二种方法是使用按位与运算符,即将要转换的数和一个二进制数进行按位与操作,判断每一位的值是0还是1,然后将结果输出。代码如下:

```c

void dec2bin(int n){

int binary = 0, i = 1, remainder;

while(n != 0){

remainder = n%2;

n = n/2;

binary = binary + (remainder*i);

i = i*10;

}

printf("%d", binary);

}

```

该函数使用循环的方式将n不断除以2, 取余数。最终将得到的余数乘上适当的位数,并累加起来,即可得到n的二进制表示。同样需要注意的是,该函数输出的二进制数也是反向的,需要先将数位全部取出再将它们反序输出。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有