解释下 dec2bin 函数
时间: 2024-01-04 18:02:45 浏览: 30
`dec2bin` 函数是将十进制数转换为二进制数的一个简单实现。其基本思路是,将十进制数不断除以 2,得到每一位的二进制位,然后按照从低位到高位的顺序将这些二进制位拼接到一起,最终得到二进制数。以下是 `dec2bin` 函数的代码实现:
```c
long dec2bin(long dec)
{
long bin = 0, rem, i = 1;
while (dec != 0)
{
rem = dec % 2; // 取余数
dec /= 2; // 除以 2
bin += rem * i; // 将余数按位放到二进制数中
i *= 10; // i 记录当前二进制位的权值
}
return bin;
}
```
该函数接受一个十进制数 `dec` 作为参数,返回一个长整型数 `bin`,表示该数的二进制形式。在函数中,使用 `while` 循环不断将 `dec` 除以 2,取余数 `rem`,并将余数按照从低位到高位的顺序存储到 `bin` 中。具体来说,每次循环中,将余数 `rem` 乘以当前二进制位的权值 `i`,然后加到 `bin` 中。随着循环的进行,`i` 的值不断乘以 10,以便存储下一位的二进制位。最终,当 `dec` 除以 2 的结果为 0 时,`while` 循环结束,`bin` 中存储的就是 `dec` 的二进制形式。
需要注意的是,该函数返回的是一个长整型数,表示二进制数的十进制形式。如果要输出该数的二进制形式,需要在 `printf` 函数中使用 `%ld` 格式化符号来输出。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)