c语言二进制输出

我们知道c语言有10进制整形输出%d,八进制输出%o,但是就是没有二进制输出,
我们可以使用stdlib.h中自带的itoa函数:

char *itoa (int value, char *str, int base );//base是进制,填2即可2进制转换

由于嵌入式的东西,本人觉得为了打印个二进制包含这个库有点多余,就写了个printf2:

void printf2(char n) 
{ 
	char i=0;
	for(i=0; i<8; i++ ){
		if(n&(0x80>>i)){
			printf("1");
		}else{
			printf("0");
		}
	}
	printf("\n");
} 
printf2(0xAA)

输出结果:10101010

注意:输入的数必须是char型,其他类型修改下输入值和i的上限即可

C语言中,编写一个程序来从键盘接收10个整数并以二进制形式输出到文件“outFile”中,可以通过以下步骤实现: 1. 包含必要的头文件:`stdio.h`用于文件操作和输入输出,`stdlib.h`可能用于分配内存(如果需要动态数组)。 2. 使用`scanf`函数从键盘接收10个整数。 3. 打开文件“outFile”用于写入二进制数据。 4. 使用循环结合指针和`fwrite`函数将每个整数的二进制形式写入文件。 5. 关闭文件。 下面是一个简单的示例代码实现上述功能: ```c #include <stdio.h> #include <stdlib.h> int main() { int numbers[10]; FILE *file; int i; // 输入10个整数 printf("请输入10个整数:\n"); for(i = 0; i < 10; i++) { scanf("%d", &numbers[i]); } // 打开文件用于二进制写入 file = fopen("outFile", "wb"); if(file == NULL) { printf("无法打开文件进行写入。\n"); return 1; } // 将整数以二进制形式写入文件 for(i = 0; i < 10; i++) { fwrite(&numbers[i], sizeof(int), 1, file); } // 关闭文件 fclose(file); printf("整数已成功写入文件outFile。\n"); return 0; } ``` 这段代码首先声明了一个整数数组`numbers`来存储从键盘输入的10个整数,然后打开一个名为`outFile`的文件准备写入。通过循环和`fwrite`函数将每个整数的二进制形式写入到文件中,最后关闭文件。 请注意,上述代码没有进行错误检查,例如检查用户输入是否有效。在实际应用中,应该增加对用户输入的校验,确保输入的是整数。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值