栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言printf按二进制输出整数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言printf按二进制输出整数

#define PRINTF_BINARY_PATTERN_INT8 "%c%c%c%c%c%c%c%c,"
#define PRINTF_BYTE_TO_BINARY_INT8(i)    
    (((i) & 0x80ll) ? '1' : '0'), 
    (((i) & 0x40ll) ? '1' : '0'), 
    (((i) & 0x20ll) ? '1' : '0'), 
    (((i) & 0x10ll) ? '1' : '0'), 
    (((i) & 0x08ll) ? '1' : '0'), 
    (((i) & 0x04ll) ? '1' : '0'), 
    (((i) & 0x02ll) ? '1' : '0'), 
    (((i) & 0x01ll) ? '1' : '0')

#define PRINTF_BINARY_PATTERN_INT16 
    PRINTF_BINARY_PATTERN_INT8              PRINTF_BINARY_PATTERN_INT8
#define PRINTF_BYTE_TO_BINARY_INT16(i) 
    PRINTF_BYTE_TO_BINARY_INT8((i) >> 8),   PRINTF_BYTE_TO_BINARY_INT8(i)
#define PRINTF_BINARY_PATTERN_INT32 
    PRINTF_BINARY_PATTERN_INT16             PRINTF_BINARY_PATTERN_INT16
#define PRINTF_BYTE_TO_BINARY_INT32(i) 
    PRINTF_BYTE_TO_BINARY_INT16((i) >> 16), PRINTF_BYTE_TO_BINARY_INT16(i)
#define PRINTF_BINARY_PATTERN_INT64    
    PRINTF_BINARY_PATTERN_INT32             PRINTF_BINARY_PATTERN_INT32
#define PRINTF_BYTE_TO_BINARY_INT64(i) 
    PRINTF_BYTE_TO_BINARY_INT32((i) >> 32), PRINTF_BYTE_TO_BINARY_INT32(i)

使用

 int main(void)
 {
	 u32 number = 0x1FFFFFE;
	 printf("My Flag "	PRINTF_BINARY_PATTERN_INT32 "n",
	PRINTF_BYTE_TO_BINARY_INT32(number));
}

输出

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/917000.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号