热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

c语言中十进制转二进制显示小工具的实现代码

本篇文章是对c语言中十进制转二进制显示小工具的实现代码进行了详细的分析的介绍,需要的朋友参考下

计算器在显示二进制位数时候,如果开头是0.是不会显示的,对于在单片机混的人,这个有时候很麻烦,所以写个小工具.

功能就是输入十进制数字,然后显示出2进制,每显示4位一次空格,可以调整位数范围(8的倍数)

如果有谁能知道linux下类似win7的那个计算器,麻烦回复告知一下吧.很是感谢~

例如:

$ dec2bin 1 135
Num 8 Binary is : 0B1000 0111
done!
===============================

$ dec2bin 2 135
Num 16 Binary is : 0B0000 0000 1000 0111
done!
===============================

代码如下:

===========================================================

代码如下:

/*
 * =======================================================================
 *
 *       Filename:  dec2bin.c
 *
 *    Description:  dec to binary show
 * =======================================================================
 */
#include
#include

#define HALF_CHAR 4

void bit_print(int bit_num, int a);

int main(int argc, char **argv)
{
    if (argc != 3) {
        printf("use: name num dec\n");
        exit(1);
    }

    bit_print(atoi(argv[1]),atoi(argv[2]));
    printf("done!\n");

    return 0;
}

void bit_print(int bit_num, int a)
{
    int i;
    int n = sizeof(char) * 8 * bit_num;

    int mask = 1 <<(n - 1);

    printf("Num %d Binary is : 0B", (bit_num * 8));
    for (i = 1; i <= n; ++i) {
        putchar(((a & mask) == 0) ? '0' : '1');
        a <<= 1;
        if (i % HALF_CHAR == 0 && i             putchar(' ');
    }
    putchar('\n');
}



推荐阅读
  • 所有者|创建者_Linux文件权限管理_20190323
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Linux文件权限管理_20190323相关的知识,希望对你有一定的参考价值。Linux文件权限管理 ... [详细]
  • cp:复制文件和目录语法:cp[OPTION][-T]SOURCEDESTcp[OPTION]SOURCEDIRECTORYcp[OP ... [详细]
  • linux里的子系统:linux内核里把某种功能类型的源码划分成一个源码模块,也就是把一类相关的源文件集中起来封装出的功能模块.如内核源码目录下”driversinput”里就 ... [详细]
  • 前期Linux环境准备1.修改Linux主机名2.修改IP3.修改主机名和IP的映射关系4.关闭防火墙5.ssh免登陆6.安装JDK,配置环境变量等集群规划主机 IP安装软件运行进 ... [详细]
  • awk if 包含_千面 awk | Linux 中国
    awk命令不仅提供了简单的输入字符串筛选功能,还包含提取数据列、打印简单文本、筛选内容——甚至做一些数学计算。--SandraHenry-stockerawk命令不仅 ... [详细]
  • 01windows下载与安装neo4j
    1。因为neo4j的官网总是在变,所以下载地址有时候找不到neo4j3.1.0Releases官方下载链接windows64ziphttps:neo4j.comar ... [详细]
  • 本文整理了Java中org.eclipse.swt.graphics.Transform.init()方法的一些代码示例,展示了Transform.init ... [详细]
  • 安装hadoop2.9.2jdk1.8centos7
    安装JDK1.8查看JDK1.8的安装https:www.cnblogs.comTJ21p13208514.html安装hadoop上传hadoop下载hadoop地址http:m ... [详细]
  • 分享第二套C语言源代码合集,包括上百个C语言经典代码下载地址:http:download.csdn.netdetailcaozhy9919273 ... [详细]
  • 1:在Ubuntu中使用“apt-getinstall+app”命令可以在线安装绝大部分软件包,在高版本的Ubuntu中,apt-get可以简写为apt。2:sudo命令表示临时切 ... [详细]
  • ICE(InternetCommunicationsEngine)是一个为现实中程序员而写的中间件平台。作为一个高性能的互联网通信平台,ICE包含了很多分层的服务和插 ... [详细]
  • 编辑iptables配置文件,将文件内容更改为如下,则具备了ip地址白名单功能#vimetcsysconfigiptables打开配置文件, ... [详细]
  • Docker的网络实现其实就是利用了Linux上的网络命名空间和虚拟网络设备(特别是vethpair).基本原理首先,要 ... [详细]
  • Android休眠唤醒机制
    有四种方式可以引起休眠①在wake_unlock()中,如果发现解锁以后没有任何其他的wakelock了,就开始休眠②在定时器到时间以后,定时器的回调函 ... [详细]
  • docker制作打包镜像说明:本文档基于CentSo7系统,ubuntu系统只是部分命令不同,制作过程相同。[顺便说一句:D ... [详细]
author-avatar
手机用户2702938564
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有