打印数据的二进制表示
来源:互联网 发布:淘宝运营教程下载 编辑:程序博客网 时间:2024/06/05 10:05
打印数据的二进制表示
分类: STL &算法分析 2012-03-08 11:06 494人阅读 评论(0)收藏 举报
floatdate
/*!
\author Liubao
\date 2011/4/4
\brief 打印数据的二进制形式
*/
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
/*!
打印字符的二进制表示,结尾不含换行符
\param ch 需要打印的字符
\warning 注意此处是宏实现,不可使用自增/自减运算符作参数!
*/
#define _PRINT_CHAR(ch) \
do \
{ \
unsigned char mask = CHAR_MIN; \
\
do \
putchar((ch) & mask ? '1' : '0'); \
while(mask >>= 1); \
}while(0)
/*!
打印任意基本数据类型var的二进制表示,结尾不含换行符
\param var 需要打印的变量
\warning 由于针对小端类型特殊处理,打印非基本数据类型会导致结果错误!
*/
#define PRINT_BINARY(var) \
do \
{ \
const char *begin = (const char *)&(var); \
const char *end = begin + sizeof(var); \
\
while(begin <= --end) _PRINT_CHAR(*end); \
}while(0)
/*!
打印任意基本任据类型var的二进制表示,结尾包含换行符
\param var 需要打印的变量
\warning 由于针对小端类型特殊处理,打印非基本数据类型会导致结果错误!
*/
#define PUTS_BINARY(var) PRINT_BINARY(var); putchar('\n')
int main()
{
double d = 5.66f;
char ch = 'A';
int i = -1;
float f = 0.15625f;
long long l = 1;
PUTS_BINARY(d);
PUTS_BINARY(ch);
PUTS_BINARY(i);
PUTS_BINARY(f);
PRINT_BINARY(l);
return 0;
}
- 打印数据的二进制表示
- c/c++ 打印float的二进制表示
- 打印N的二进制表示(algs4)
- float数据对应的二进制表示
- Java打印整数的二进制表示(代码与解析)
- 二进制数据打印
- printf打印二进制数据
- 输出内存数据的二进制和十六进制的字符串表示
- -1的二进制表示
- 负数的二进制表示
- 负数的二进制表示
- 集合的二进制表示。
- 小数的二进制表示
- -1 的 二进制表示
- C的二进制表示
- 负数的二进制表示
- 负数的二进制表示
- 23的二进制表示
- UIImageView截取区域图片
- ResourceManager架构解析
- linux下测试磁盘的读写IO速度
- Android网络编程之Http通信
- 计算机视觉的一些测试数据集和源码站点
- 打印数据的二进制表示
- android FM播放时拔出耳机后FM APP自动close
- hdu2094 产生冠军 (并查集+拓扑排序)
- 自我提升
- plot
- XML中action标签的属性
- android之Notification版本兼容性问题
- 编解码学习笔记(三):Mpeg系列——Mpeg 1和Mpeg 2
- HDU 2642 Stars(二维树状数组)