博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
固定二进制位的整型变量
阅读量:6647 次
发布时间:2019-06-25

本文共 1090 字,大约阅读时间需要 3 分钟。

C99中,设置了stdint.h来定义一组整型数据类型,形如:intN_t和uintN_t对不同的N值指定N位有符号和无符号整数,N的值一般为:8,16,32,64。这样,我们就可以无歧义的声明一个16位无符号变量:uint16_t  a

如果要想用printf打印这样声明的变量,可移植的做法是,包含头文件inttypes.h(它内部包含了stdint.h),该头文件中定义了一串类似PRId32,PRId64,PRIu32,PRIu64等等的宏,根据系统的不同扩展为不同的含义。

###inttypes.h头文件片段 42  43 # if __WORDSIZE == 64 44 #  define __PRI64_PREFIX    "l" 45 #  define __PRIPTR_PREFIX   "l" 46 # else 47 #  define __PRI64_PREFIX    "ll" 48 #  define __PRIPTR_PREFIX 49 # endif 50  51 /* Macros for printing format specifiers.  */ 52  53 /* Decimal notation.  */ 54 # define PRId8      "d" 55 # define PRId16     "d" 56 # define PRId32     "d" 57 # define PRId64     __PRI64_PREFIX "d" 58 101 /* Unsigned integers.  */102 # define PRIu8      "u"103 # define PRIu16     "u"104 # define PRIu32     "u"105 # define PRIu64     __PRI64_PREFIX "u"
1 #include 
2 #include
3 int main(int argc, char *argv[]) 4 { 5 int32_t t=10; 6 uint64_t t1=200; 7 printf("t=%"PRId32",t1=%"PRIu64"\n",t,t1); //注意宏在双引号外边 8 9 return 0; 10 }

 

转载地址:http://emuto.baihongyu.com/

你可能感兴趣的文章
硬盘整数分区最精确地方法(转载)
查看>>
Oracle-压缩数据
查看>>
Exchange Server2010系列之十六:客户端访问方式
查看>>
crawler4j 爬爬知多少
查看>>
记录:Protocol Buffers(protobuf)在Java开发中使用
查看>>
关于Diablo3的历史和现状思考
查看>>
一个tomcat配置多个端口
查看>>
ORACLE审计小结
查看>>
【翻译】Ext JS 4.1最终版发布
查看>>
加速OpenStack云落地——UnitedStack发布UOS 2.0
查看>>
C++中const用法总结
查看>>
alibaba druid 在springboot start autoconfig 下的bug
查看>>
Zabbix与Python不得不说的基情——用Python定制自己的zabbix界面
查看>>
linux下parted分区
查看>>
华为云计算大会HCC2014给你好看
查看>>
一个自媒体人的日常
查看>>
目前很火的自媒体平台,到底还值不值得站长们入驻
查看>>
Tomcat性能优化及JVM内存工作原理
查看>>
ActiveReports 报表应用教程 (10)---交互式报表之向下钻取(详细数据按需显示解决方案)...
查看>>
ASP.NET 5系列教程 (一):领读新特性
查看>>