码迷,mamicode.com
首页 > 其他好文 > 详细

固定二进制位的整型变量

时间:2018-02-13 10:34:26      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:头文件   mac   双引号   c99   引号   gpo   固定   等等   变量   

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 <stdio.h>                                                          
  2 #include <inttypes.h>
  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 }

 

固定二进制位的整型变量

标签:头文件   mac   双引号   c99   引号   gpo   固定   等等   变量   

原文地址:https://www.cnblogs.com/litifeng/p/8445958.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!