0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

从键盘输入10个整数,以二进制形式输出到“outFile”中

冬至子 来源:风景邮递Yuan 作者:风景邮递Yuan 2023-06-07 11:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Python实现:

with open('outFile', 'w') as f: # 打开文件,以写入方式

nums = [] # 存储输入的10个整数

print("Please input 10 integers:")

for i in range(10):

    num = int(input()) # 从键盘输入一个整数

    nums.append(num)

    f.write(str(num) + '\\t') # 将整数以十进制形式写入文件

    f.write(bin(num)[2:].zfill(32) + '\\n') # 将整数以二进制形式写入文件

注释:bin()函数将整数转换为二进制字符串,[2:]表示去掉字符串前面的"0b",zfill(32)表示在字符串前面填充0,使其长度为32。

图片

C语言实现:

#include

int main() {

int nums[10]; // 存储输入的10个整数

FILE *fp; // 文件指针

fp = fopen("outFile", "w"); // 打开文件,以写入方式

if (fp == NULL) { // 判断文件是否打开成功

    printf("Failed to open file.\\n");

    return 1;

}

printf("Please input 10 integers:\\n");

for (int i = 0; i < 10; i++) {

    scanf("%d", &nums[i]); // 从键盘输入10个整数

    fprintf(fp, "%d\\t", nums[i]); // 将整数以十进制形式写入文件

    for (int j = 31; j >= 0; j--) { // 将整数以二进制形式写入文件

        fprintf(fp, "%d", (nums[i] > > j) & 1);

    }

    fprintf(fp, "\\n"); // 换行

}

fclose(fp); // 关闭文件

return 0;

}

具体解释如下:

  1. for (int j = 31; j >= 0; j--):循环从 31 开始,到 0 结束,每次递减 1,循环变量为 j。
    • 这里假设该整数是用 32 位二进制表示的,因此需要从高位到低位依次读取并写入文件。
  2. (nums[i] >> j) & 1:将当前整数 nums[i] 右移 j 位,然后和二进制数 1 进行按位与操作,得到该整数在 j 位上的二进制值。
    • 右移操作可以将该整数的二进制表示从右往左移动 j 位 ,使得它的二进制值在第 j 位变成了最低位,方便进行按位与操作。
    • 按位与操作可以将该整数在第 j 位上的二进制值提取出来,因为只有在该位上是 1 的时候才会产生运算结果为 1,否则结果为 0。
  3. fprintf(fp, "%d", (nums[i] >> j) & 1):将当前整数在 j 位上的二进制值格式化为整数类型,并写入到文件中。
    • 这里使用了 C 语言的 fprintf() 函数,它可以格式化输出数据并写入到文件中。
    • %d 表示将整数类型格式化为十进制整数,并将其保存在文件中

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    183

    文章

    7642

    浏览量

    144559
  • python
    +关注

    关注

    57

    文章

    4856

    浏览量

    89551
  • BIN文件
    +关注

    关注

    0

    文章

    27

    浏览量

    8933
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    进制二进制之间的转换原理

    进制二进制之间的转换  既然一数可以用二进制和十进制两种不同形式来表示,那么两着之间就必然
    发表于 04-06 23:54

    visa如何向USB输入二进制

    我想在字符输入输入16位二进制如:0101 0101 1111 0000,让后将这个字符串二进制
    发表于 08-12 10:46

    【小梅哥FPGA进阶教程】第二进制转BCD

    Decimal)也称二进码十进数或-十进制代码。用4位二进制数来表示1位十进制的0~9这
    发表于 01-09 14:38

    如何理解二进制运算规则 二进制是如何运算的

    二进制运算规则二进制的运算算术运算二进制的加法:0+0=0,0+1=1 ,1+0=1, 1+1=10(向高位进位);二进制的减法:0-0=0
    发表于 12-11 17:49

    二进制

    二进制   二进制与十进制的区别在于数码的个数和进位规律有很大的区别,顾名思义,二进制的计数规律为逢二进一,是以2为基数的计数体制。
    发表于 04-06 23:48 8756次阅读
    <b class='flag-5'>二进制</b>

    二进制编码和二进制数据

    二进制编码和二进制数据   二进制编码是计算机内使用最多的码制,它只使用两基本符号"0"和"1",并且通过由这两符号组成的
    发表于 10-13 16:22 5106次阅读

    二进制电平,什么是二进制电平

    二进制电平,什么是二进制电平 在二进制数字通信系统,每个码元或每个符号只能是“1”和“0”两状态之一。若将每个码元可能取的状态增
    发表于 03-17 16:51 2647次阅读

    本的二进制加法/减法器,本的二进制加法/减法器原理

    本的二进制加法/减法器,本的二进制加法/减法器原理   两二进制数字Ai,Bi和一进位输入
    发表于 04-13 11:11 5472次阅读

    二进制与十进制数对照显示实验,十进制二进制对照

    二一十进制译码驱动集成电路,可以把输入二进制码转换成十进制数字输出输出结果驱动一
    的头像 发表于 09-20 18:26 3549次阅读

    KUKA给整数计数器或者二进制输出端赋值

    用此指令可以对一整数计数器或一二进制输出端赋值,并将赋的信号和一种条件 (布尔算子)相连接
    的头像 发表于 04-15 09:54 2972次阅读

    10进制转换为二进制的算法

    10进制转换为二进制是计算机领域中非常重要的一问题。在计算机,所有的数据都是以二进制
    的头像 发表于 01-11 09:14 4732次阅读

    二进制处理的一些技巧

    二进制和十进制的处理,有时候一些小技巧是很有用的。 1、把十进制数转换成二进制数 (1)在MATLAB中有一
    的头像 发表于 07-05 11:51 1405次阅读

    二进制编码器工作原理 如何选择二进制编码器

    二进制编码器是一种数字电路,它将输入二进制代码转换为对应的输出信号。在数字系统,编码器用于将数据从一种
    的头像 发表于 11-06 09:44 3210次阅读

    二进制编码器应用场景 二进制编码器与模拟编码器比较

    限性。 二进制编码器概述 二进制编码器是一种将输入信号转换为二进制代码的设备。它通常用于数字系统,将模拟信号或非
    的头像 发表于 11-06 09:45 1800次阅读

    二进制编码器的种类及特点

    处理多个输入信号,并根据输入信号的优先级输出二进制编码。如果多个输入同时为高电平,它将
    的头像 发表于 11-06 09:47 1990次阅读