stdint.h 文件 int8_t uint8_t int16_t uint16_t
http://blog.chinaunix.net/uid-26588712-id-3068151.html c++ 数据类型
1字节 uint8_t
2字节 uint16_t
4字节 uint32_t
8字节 uint64_t
- /* Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
- /*
- * ISO C99: 7.18 Integer types <stdint.h>
- */
- #ifndef _STDINT_H
- #define _STDINT_H 1
- #include <features.h>
- #include <bits/wchar.h>
- #include <bits/wordsize.h>
- /* Exact integral types. */
- /* Signed. */
- /* There is some amount of overlap with <sys/types.h> as known by inet code */
- #ifndef __int8_t_defined
- # define __int8_t_defined
- typedef signed char int8_t;
- typedef short int int16_t;
- typedef int int32_t;
- # if __WORDSIZE == 64
- typedef long int int64_t;
- # else
- __extension__
- typedef long long int int64_t;
- # endif
- #endif
- /* Unsigned. */
- typedef unsigned char uint8_t;
- typedef unsigned short int uint16_t;
- #ifndef __uint32_t_defined
- typedef unsigned int uint32_t;
- # define __uint32_t_defined
- #endif
- #if __WORDSIZE == 64
- typedef unsigned long int uint64_t;
- #else
- __extension__
- typedef unsigned long long int uint64_t;
- #endif
- /* Small types. */
- /* Signed. */
- typedef signed char int_least8_t;
- typedef short int int_least16_t;
- typedef int int_least32_t;
- #if __WORDSIZE == 64
- typedef long int int_least64_t;
- #else
- __extension__
- typedef long long int int_least64_t;
- #endif
- /* Unsigned. */
- typedef unsigned char uint_least8_t;
- typedef unsigned short int uint_least16_t;
- typedef unsigned int uint_least32_t;
- #if __WORDSIZE == 64
- typedef unsigned long int uint_least64_t;
- #else
- __extension__
- typedef unsigned long long int uint_least64_t;
- #endif
- /* Fast types. */
- /* Signed. */
- typedef signed char int_fast8_t;
- #if __WORDSIZE == 64
- typedef long int int_fast16_t;
- typedef long int int_fast32_t;
- typedef long int int_fast64_t;
- #else
- typedef int int_fast16_t;
- typedef int int_fast32_t;
- __extension__
- typedef long long int int_fast64_t;
- #endif
- /* Unsigned. */
- typedef unsigned char uint_fast8_t;
- #if __WORDSIZE == 64
- typedef unsigned long int uint_fast16_t;
- typedef unsigned long int uint_fast32_t;
- typedef unsigned long int uint_fast64_t;
- #else
- typedef unsigned int uint_fast16_t;
- typedef unsigned int uint_fast32_t;
- __extension__
- typedef unsigned long long int uint_fast64_t;
- #endif
- /* Types for `void *' pointers. */
- #if __WORDSIZE == 64
- # ifndef __intptr_t_defined
- typedef long int intptr_t;
- # define __intptr_t_defined
- # endif
- typedef unsigned long int uintptr_t;
- #else
- # ifndef __intptr_t_defined
- typedef int intptr_t;
- # define __intptr_t_defined
- # endif
- typedef unsigned int uintptr_t;
- #endif
- /* Largest integral types. */
- #if __WORDSIZE == 64
- typedef long int intmax_t;
- typedef unsigned long int uintmax_t;
- #else
- __extension__
- typedef long long int intmax_t;
- __extension__
- typedef unsigned long long int uintmax_t;
- #endif
- /* The ISO C99 standard specifies that in C++ implementations these
- macros should only be defined if explicitly requested. */
- #if !defined __cplusplus || defined __STDC_LIMIT_MACROS
- # if __WORDSIZE == 64
- # define __INT64_C(c) c ## L
- # define __UINT64_C(c) c ## UL
- # else
- # define __INT64_C(c) c ## LL
- # define __UINT64_C(c) c ## ULL
- # endif
- /* Limits of integral types. */
- /* Minimum of signed integral types. */
- # define INT8_MIN (-128)
- # define INT16_MIN (-32767-1)
- # define INT32_MIN (-2147483647-1)
- # define INT64_MIN (-__INT64_C(9223372036854775807)-1)
- /* Maximum of signed integral types. */
- # define INT8_MAX (127)
- # define INT16_MAX (32767)
- # define INT32_MAX (2147483647)
- # define INT64_MAX (__INT64_C(9223372036854775807))
- /* Maximum of unsigned integral types. */
- # define UINT8_MAX (255)
- # define UINT16_MAX (65535)
- # define UINT32_MAX (4294967295U)
- # define UINT64_MAX (__UINT64_C(18446744073709551615))
- /* Minimum of signed integral types having a minimum size. */
- # define INT_LEAST8_MIN (-128)
- # define INT_LEAST16_MIN (-32767-1)
- # define INT_LEAST32_MIN (-2147483647-1)
- # define INT_LEAST64_MIN (-__INT64_C(9223372036854775807)-1)
- /* Maximum of signed integral types having a minimum size. */
- # define INT_LEAST8_MAX (127)
- # define INT_LEAST16_MAX (32767)
- # define INT_LEAST32_MAX (2147483647)
- # define INT_LEAST64_MAX (__INT64_C(9223372036854775807))
- /* Maximum of unsigned integral types having a minimum size. */
- # define UINT_LEAST8_MAX (255)
- # define UINT_LEAST16_MAX (65535)
- # define UINT_LEAST32_MAX (4294967295U)
- # define UINT_LEAST64_MAX (__UINT64_C(18446744073709551615))
- /* Minimum of fast signed integral types having a minimum size. */
- # define INT_FAST8_MIN (-128)
- # if __WORDSIZE == 64
- # define INT_FAST16_MIN (-9223372036854775807L-1)
- # define INT_FAST32_MIN (-9223372036854775807L-1)
- # else
- # define INT_FAST16_MIN (-2147483647-1)
- # define INT_FAST32_MIN (-2147483647-1)
- # endif
- # define INT_FAST64_MIN (-__INT64_C(9223372036854775807)-1)
- /* Maximum of fast signed integral types having a minimum size. */
- # define INT_FAST8_MAX (127)
- # if __WORDSIZE == 64
- # define INT_FAST16_MAX (9223372036854775807L)
- # define INT_FAST32_MAX (9223372036854775807L)
- # else
- # define INT_FAST16_MAX (2147483647)
- # define INT_FAST32_MAX (2147483647)
- # endif
- # define INT_FAST64_MAX (__INT64_C(9223372036854775807))
- /* Maximum of fast unsigned integral types having a minimum size. */
- # define UINT_FAST8_MAX (255)
- # if __WORDSIZE == 64
- # define UINT_FAST16_MAX (18446744073709551615UL)
- # define UINT_FAST32_MAX (18446744073709551615UL)
- # else
- # define UINT_FAST16_MAX (4294967295U)
- # define UINT_FAST32_MAX (4294967295U)
- # endif
- # define UINT_FAST64_MAX (__UINT64_C(18446744073709551615))
- /* Values to test for integral types holding `void *' pointer. */
- # if __WORDSIZE == 64
- # define INTPTR_MIN (-9223372036854775807L-1)
- # define INTPTR_MAX (9223372036854775807L)
- # define UINTPTR_MAX (18446744073709551615UL)
- # else
- # define INTPTR_MIN (-2147483647-1)
- # define INTPTR_MAX (2147483647)
- # define UINTPTR_MAX (4294967295U)
- # endif
- /* Minimum for largest signed integral type. */
- # define INTMAX_MIN (-__INT64_C(9223372036854775807)-1)
- /* Maximum for largest signed integral type. */
- # define INTMAX_MAX (__INT64_C(9223372036854775807))
- /* Maximum for largest unsigned integral type. */
- # define UINTMAX_MAX (__UINT64_C(18446744073709551615))
- /* Limits of other integer types. */
- /* Limits of `ptrdiff_t' type. */
- # if __WORDSIZE == 64
- # define PTRDIFF_MIN (-9223372036854775807L-1)
- # define PTRDIFF_MAX (9223372036854775807L)
- # else
- # define PTRDIFF_MIN (-2147483647-1)
- # define PTRDIFF_MAX (2147483647)
- # endif
- /* Limits of `sig_atomic_t'. */
- # define SIG_ATOMIC_MIN (-2147483647-1)
- # define SIG_ATOMIC_MAX (2147483647)
- /* Limit of `size_t' type. */
- # if __WORDSIZE == 64
- # define SIZE_MAX (18446744073709551615UL)
- # else
- # define SIZE_MAX (4294967295U)
- # endif
- /* Limits of `wchar_t'. */
- # ifndef WCHAR_MIN
- /* These constants might also be defined in <wchar.h>. */
- # define WCHAR_MIN __WCHAR_MIN
- # define WCHAR_MAX __WCHAR_MAX
- # endif
- /* Limits of `wint_t'. */
- # define WINT_MIN (0u)
- # define WINT_MAX (4294967295u)
- #endif /* C++ && limit macros */
- /* The ISO C99 standard specifies that in C++ implementations these
- should only be defined if explicitly requested. */
- #if !defined __cplusplus || defined __STDC_CONSTANT_MACROS
- /* Signed. */
- # define INT8_C(c) c
- # define INT16_C(c) c
- # define INT32_C(c) c
- # if __WORDSIZE == 64
- # define INT64_C(c) c ## L
- # else
- # define INT64_C(c) c ## LL
- # endif
- /* Unsigned. */
- # define UINT8_C(c) c ## U
- # define UINT16_C(c) c ## U
- # define UINT32_C(c) c ## U
- # if __WORDSIZE == 64
- # define UINT64_C(c) c ## UL
- # else
- # define UINT64_C(c) c ## ULL
- # endif
- /* Maximal type. */
- # if __WORDSIZE == 64
- # define INTMAX_C(c) c ## L
- # define UINTMAX_C(c) c ## UL
- # else
- # define INTMAX_C(c) c ## LL
- # define UINTMAX_C(c) c ## ULL
- # endif
- #endif /* C++ && constant macros */
- #endif /* stdint.h */
stdint.h 文件 int8_t uint8_t int16_t uint16_t的更多相关文章
- 有关stdint.h 文件
有关stdint.h 文件 Google C++编程规范的P25页有如下叙述: <stdint.h> 定义了 int16_t . uint32_t . int64_t 等整型,在需要确定大 ...
- 在windows下使用pip安装python包遇到缺失stdint.h文件的错误
今天在windows上使用pip安装一个python包python-lzf时遇到如下的错误: fatal error C1083: Cannot open include file: 'stdint. ...
- fatal error C1083:无法打开包括文件:“stdint.h”: No such file or directory解决方案
stdint.h文件是C99的标准头文件,默认情况下VC是不支持的,所以在使用过程中肯定会碰到 "No such file or directory"的问题. 解决办法 1.从网盘 ...
- freeRTOSConfig.h文件对FreeRTOS进行系统配置
FreeRTOS内核是高度可定制的,使用配置文件FreeRTOSConfig.h进行定制.每个FreeRTOS应用都必须包含这个头文件,用户根据实际应用来裁剪定制FreeRTOS内核.这个配置文件是针 ...
- fatal error C1083: 无法打开包括文件:“stdint.h”: No such file or directory
stdint.h是c99标准的头文件,vc不支持,所以肯定会提示“No such file or directory”的. stdint.h是C99的标准,主要用于统一跨平台数据定义. MSVC中不带 ...
- 与平台无关的类型,int8_t,uint8_t
pecific integral type limits Specifier Common Equivalent Signing Bits Bytes Minimum Value Maximum Va ...
- 一些平台无关的整型类型,int8_t,uint8_t....
pecific integral type limits Specifier Common Equivalent Signing Bits Bytes Minimum Value Maximum Va ...
- stm32f10x.h文件分析理解
今天再看过半年前自己写的这篇发现自己当时理解有误,stm32f10x.h与库开发并未存在太大关系,只是一个最为重要的寄存器地址到寄存器结构体变量的映射. stm32f10x.h 这个头文件是STM32 ...
- VC++6.0/VC6使用c99的stdint.h
如果使用https://github.com/mattn/gntp-send/blob/master/include/msinttypes/stdint.h会报错: error C2733: seco ...
随机推荐
- windowSoftInputMode属性详解
转自:http://blog.csdn.net/twoicewoo/article/details/7384398 activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Andro ...
- Part 72 to 81 Talking about Dictionary and List collection in C#
Part 72 What is dictionary in c# Part 73 What is dictionary in c# continued Part 74 List colle ...
- Incorporating ASP.NET MVC and SQL Server Reporting Services, Part 1
Your ASP.NET MVC application needs reports. What do you do? In this article, I will demonstrate how ...
- 20141124-JS函数
函数: 函数是由事件驱动或者当它被调用时执行的可重复色代码块. <head> <script> function hanshu() { alert("你好!" ...
- webSphere集群部署主要步骤
1.系统管理-节点,添加本机节点和另外一台机器的节点2.建立集群服务cluster,添加成员节点3.将应用部署到集群服务cluster4.将数据库源分别建立到节点作用域5.后续步骤参照安装手册 注意事 ...
- 10款基于HTML5+CSS3实现的超酷源码动画
1.基于Bootstrap的jQuery登录表单 这是一款基于Bootstrap的登录表单,表单的外观自然不用说,沿用了Bootstrap的风格,非常漂亮.这款登录表单有一个经过CSS3处理过的头像图 ...
- 8款给力HTML5/CSS3应用插件 可爱的HTML5笑脸
1.HTML5/CSS3实现笑脸动画 非常可爱 今天我们要分享一款基于纯CSS3实现的笑脸动画,我们只要在面部滑动鼠标,即可让人物的眼睛嘴巴动起来,实现微笑的效果,还挺可爱的. 在线演示 源码下载 2 ...
- hdu 2176 取(m)石子游戏
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2176 题意分析:给出M堆石子,两人交替取子,给出先手能否胜利. 不能输出No, 能则输出Yes并给出第 ...
- SpringMvc入门五----文件上传
知识点: SpringMvc单文件上传 SpringMvc多文件上传 这里我直接演示多文件上传,单文件的上传就不说了,不过代码都是现成的. 效果预览: DEMO图: 添加文件上传j ...
- c++11之右值引用
本文大部分来自这里,并不是完全着行翻译,如有不明白的地方请参考原文. 在c++中,创建临时对象的开销对程序的影响一直很大,比如以下这个例子: String getName(){ return “Kia ...