实习中,今天在看公司源码的时候,发现前辈给的代码都是这样的

  1. typedef int8_t int8;
  2. typedef uint8_t uint8;
  3. typedef int16_t int16;
  4. typedef uint16_t uint16;
  5. typedef word_t word16;
  6. typedef int32_t int32;
  7. typedef uint32_t uint32;
  8. typedef dword_t dword32;
  9. typedef int64_t int64;
  10. typedef uint64_t uint64;
  11. typedef uint32 color_t;
  12.  
  13. typedef time_t time64;
  14. typedef wchar_t char16;//宽字符
  15. typedef char char8;

 身为小白的我内心是这样的      ???????

查找后得出了结论,其实这些都是已经被typedef过的类型:

  1. typedef signed char int8_t;
  2. typedef unsigned char uint8_t;
  3.  
  4. typedef int int16_t;
  5. typedef unsigned int uint16_t;
  6.  
  7. typedef long int32_t;
  8. typedef unsigned long uint32_t;
  9.  
  10. typedef long long int64_t;
  11. typedef unsigned long long uint64_t;

  这些包含在inttypes.h头文件,据说这样做的原因是方便移植,比如int8就是8位大小占一字节,int32,,32位大小4字节… 
这样相对应的占位符也就清楚了:

  1. char /unsigned char: %c
  2. int : %d
  3. unsigned int: %u
  4. long: %ld;
  5. unsigned long:%lu
  6. long long: %lld(%l64d)
  7. unsigned long long:%Ilu(%l64u)

 即:

  1. int8_t:%c;
  2. uint8_t:%c;
  3.  
  4. int16_t: %d;
  5. uint16_t:%u;
  6.  
  7. int32_t:%ld;
  8. uint32_t:%lu;
  9.  
  10. int64_t:%lld(%l64d);
  11. uint64_t:%llu(%l64u);

资料:https://blog.csdn.net/eusia/article/details/76401235

关于int8_t,uint8_t.....等数据类型的理解的更多相关文章

  1. stdint.h 文件 int8_t uint8_t int16_t uint16_t

    http://blog.chinaunix.net/uid-26588712-id-3068151.html c++ 数据类型 按照posix标准,一般整型对应的*_t类型为:1字节     uint ...

  2. 与平台无关的类型,int8_t,uint8_t

    pecific integral type limits Specifier Common Equivalent Signing Bits Bytes Minimum Value Maximum Va ...

  3. 一些平台无关的整型类型,int8_t,uint8_t....

    pecific integral type limits Specifier Common Equivalent Signing Bits Bytes Minimum Value Maximum Va ...

  4. JS数据类型的理解(猜测)

    Js 数据类型 对于这个主题,首先来看几个问题,如果你对这几个问题很清楚的话,那就请直接跳过吧,不用接着往下看了,如果不清楚,建议你还是看看. 1)如果判断函数?function 和object的联系 ...

  5. C语言数据类型的理解

    数据类型的定义: 作为一种语言,必然有所谓的语言组成要素,就像日常生活中人们之间的交流一样,首先会有字,字再成词组,再来就是句子,后来呢就是段落等等.当然不同的字,词,句这些在一起,就会有不同的表达效 ...

  6. 我对js数据类型的理解和深浅(copy)的应用场景

    本人毕业一所专科院校,所学专业是计算机应用技术,在大学时对前端有了一定的了解之后,觉得自己对前端的兴趣十分强烈,开始自学前端,一路上也是坎坎坷坷,也有想要放弃的时候,还好坚持了下来,并且从事前端开发已 ...

  7. javascript: 数据类型深入理解

    1.基本类型(值类型或者原始类型): Number.Boolean.String.NULL.Undefined以及ES6的Symbol2.引用类型:Object.Array.Function.Date ...

  8. Python3 中bytes数据类型深入理解(ASCII码对照表)

    bytes的来源 bytes 是 Python 3.x 新增的类型,在 Python 2.x 中是不存在的. bytes 的意思是"字节",以字节为单位存储数据.而一个字节二进制为 ...

  9. C语言的数据类型的本质和提高学习

    一.数据类型的概念 类型是对数据的抽象 类型是相同的数据有相同的表示形式.存储格式以及相关的操作 程序中使用的数据必定属于某一种数据类型 ​ 1.算术类型: 包括三种类型:整数类型.浮点类型,枚举型. ...

随机推荐

  1. Tomcat服务器环境变量配置及在Eclipse中启动和配置

    本文原创,转载需注明出处: 如何配置在Eclipse中配置Tomcat服务器 1.在配置的时候要右击‘我的电脑‘看是否安装了jdk,配置了jdk的环境变量,看是否有classpath和path是否指向 ...

  2. /usr/bin/perl:bad interpreter:No such file or directory 的解决办法

    yum -y install gcc gcc-c++ perl make kernel-headers kernel-devel 可能会提示:Cannot find a valid baseurl f ...

  3. javaSE习题 第三章 运算符、表达式和语句

    问答: 1.下列System.out.printf的结果是什么? int a=100,x,y; x=++a; y=a--; System.out.printf("%d,%d,%d" ...

  4. Git Gui 常见错误

  5. 学习笔记11—MATLAB 界面设计

    1.cmd窗口输入-guide------> 打开.fig文件 2.查看SPM源代码: 2.matlab中如何改x,y轴以及图例上字体大小 1) x,y轴 -------整个轴上面就一个设定字符 ...

  6. axios写法

  7. anaconda3 安装opencv3.4.2 cuda9.2 mint19(ubuntu 18.04)

    从opencv1的时代,编译这玩意就不是太轻松.之前都是在win下.2.x时代,开始用cmake GUI,选vs版本,x86 x64 各种依赖库选项,debug release,... 现在3.4了, ...

  8. Inception Network

    1. 下图为一个Inception 模块,即将输入的图像通过多种过滤器或者池化操作后,全部再给拼起来形成新的图像. 2. Inception 网络就是讲将多个Inception模块连起来而已,如下图的 ...

  9. Codeforces 939E - Maximize!

    939E - Maximize! 思路: 贪心:最后的集合是最大值+前k小个 因为平均值时关于k的凹形函数,所以可以用三分求最小值 又因为后面的k肯定比前面的k大,所以又可以双指针 三分: #incl ...

  10. Python Selenium Cookie 绕过验证码实现登录

    Python Selenium Cookie 绕过验证码实现登录 之前介绍过博客园的通过cookie 绕过验证码实现登录的方法.这里并不多余,会增加分析和另外一种方法实现登录. 1.思路介绍 1.1. ...