c语言代码负数转换为二进制
时间: 2024-09-17 19:08:01 浏览: 51
c语言 十进制转换为二进制
5星 · 资源好评率100%
在C语言中,将负数转换为二进制可以分为两个步骤:首先计算绝对值的二进制表示,然后根据原数的正负符号添加前缀“1”(表示负数)。这里有一个简单的函数示例:
```c
#include <stdio.h>
#include <math.h>
void int_to_binary(int num) {
if (num == 0)
printf("0");
else {
int binary[32]; // 假设32位二进制数足够大(实际取决于目标平台)
int i = 0;
while (num > 0) {
binary[i] = num % 2;
num /= 2;
i++;
}
// 输出二进制数,从最低位到最高位
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
// 如果原数是负数,加上前缀“1”
if (num < 0)
printf(" ");
else
printf("-");
}
}
int main() {
int num = -10; // 示例负数
int_to_binary(num);
return 0;
}
```
当你运行这个程序,会得到`-10`的二进制表示 `-1010`。
阅读全文