C 语言中怎么将正整数转化为二进制? | 您所在的位置:网站首页 › wifi解锁神器哪个好 › C 语言中怎么将正整数转化为二进制? |
在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 实验室设备网 版权所有 |