/*------------------------------------
binbit.c -- 使用位操作显示二进制
------------------------------------*/ #include <stdio.h>
#include <limits.h> //提供 CHAR_BIT 的定义,CHAR_BIT 表示每字节的位数 char* itobs(int, char*);
void show_bstr(const char*); int main()
{
char bin_str[CHAR_BIT * sizeof(int) + ];
int number; puts("Enter integers and see them in binary.");
puts("Non-numeric input terminates program"); while (scanf("%d", &number) == )
{
itobs(number, bin_str); printf("%d is ", number); show_bstr(bin_str); putchar('\n');
} puts("Bye"); return ;
} char* itobs(int n, char *ps)
{
const static int size = CHAR_BIT * sizeof(int); for (int i(size - ); i >= ; --i, n >>= )
ps[i] = ( & n) + '';
ps[size] = '\0'; return ps;
} //以4位为一组,显示二进制字符串
void show_bstr(const char *str)
{
int i = ;
while (str[i]) //不是空字符
{
fputc(str[i], stdout); if (++i % == && str[i])
fputc(' ', stdout);
}
}

binbit.c

第 15 章 位操作(binbit)的更多相关文章

  1. 第 15 章 位操作(invert4)

    /*------------------------------------ invert4.c -- 使用位操作显示二进制 ------------------------------------* ...

  2. 第 15 章 位操作(dualview)

    /*----------------------------------- dualview.c -- 位字段和按位运算符 -----------------------------------*/ ...

  3. 第 15 章 位操作(fields)

    /*----------------------------------- fields.c -- 定义并使用字段 -----------------------------------*/ #inc ...

  4. Linux就这个范儿 第15章 七种武器 linux 同步IO: sync、fsync与fdatasync Linux中的内存大页面huge page/large page David Cutler Linux读写内存数据的三种方式

    Linux就这个范儿 第15章 七种武器  linux 同步IO: sync.fsync与fdatasync   Linux中的内存大页面huge page/large page  David Cut ...

  5. 【STM32H7教程】第15章 STM32H7的GPIO基础知识(重要)

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第15章       STM32H7的GPIO基础知识(重要) ...

  6. 第15章 LinkedList类(暂无)

    第15章 LinkedList类 LinkedList类是

  7. ASM:《X86汇编语言-从实模式到保护模式》第15章:任务切换

    15章其实应该是和14章相辅相成的(感觉应该是作者觉得14章内容太多了然后切出来了一点).任务切换和14章的某些概念是分不开的. ★PART1:任务门与任务切换的方法 1. 任务管理程序 14章的时候 ...

  8. 第15章 设备无关位图_15.3 DIB和DDB的结合

    第15章 设备相关位图_15.3 DIB和DDB的结合 15.3.1 从DIB创建DDB (1)hBitmap =CreateDIBitmap(…)——注意这名称会误导,实际上创建的是DDB 参数 说 ...

  9. unix network programming(3rd)Vol.1 [第13~15章]《读书笔记系列》

    第13章 守护进程和inetd 超级服务器 syslog() daemon_init() setuid() setgid() 第14章 高级IO 标准I/O函数库,支持3种缓冲 缓冲(读写存储设备(硬 ...

随机推荐

  1. 【区块链Go语言实现】Part 2:工作量证明机制POW

    0x00 介绍 在上一篇文章中,我们建立了一个非常简单的数据结构,它是区块链数据库的本质.并且,我们实现了以类似链条关系的方式向其中添加区块的功能:每个区块都会链接到前一区块.然而,我们实现的区块链有 ...

  2. 数据结构与算法(周鹏-未出版)-第六章 树-6.5 Huffman 树

    6.5 Huffman 树 Huffman 树又称最优树,可以用来构造最优编码,用于信息传输.数据压缩等方面,是一类有着广泛应用的二叉树. 6.5.1 二叉编码树 在计算机系统中,符号数据在处理之前首 ...

  3. android开发学习笔记系列(5)--fragment与viewpage

    前言 在前面的博客写到我针对一个项目完成了动态布局的效果,顿时感觉很爽,那么下面我针对我在前文中所讲的tabhost的实现做出一个新的方法,tabhost基本已经被启用,现在基本使用Fragment与 ...

  4. POJ 2234 Matches Game (尼姆博弈)

    题目链接: https://cn.vjudge.net/problem/POJ-2234 题目描述: Here is a simple game. In this game, there are se ...

  5. UIKit 框架之UIResponder

    前面博客有讲触摸事件提过响应事件和响应者链,而管理响应者链的正是UIResponder. 一.代码 - (BOOL)application:(UIApplication *)application d ...

  6. textarea赋值时换行符无效的解决方法

    //替换字符串中的换行符为br var Content = JSON.stringify(txt); Content = Content.replace(/\\n/g, '<br />') ...

  7. winform窗体 控件【MDI 窗体容器】

    MDI :窗体容器 -- 在窗体中放置窗体 属性 IsMdiContainer  : 是否是窗体          -- 只有 Form 有此属性    Form2 f2 = new Form2(); ...

  8. 【Dubbo&&Zookeeper】1、Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)

    转自:http://blog.csdn.net/congcong68/article/details/41113239 互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架 ...

  9. Java-函数式编程(二)Lambda表达式

    本文首发:Java-函数式编程(二)Lambda表达式 “Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lamb ...

  10. Vue之组件使用(二)

    补充一下:之前没提到,这里是一个父子组件通信的方法 如果想要使同一个组件实现不同的效果,那么可以这样做. 把需要封装的组件模板写在template中 <template id="cou ...