C中int8

您所在的位置:网站首页 无符号数组定义c语言 C中int8

C中int8

2024-07-15 03:49| 来源: 网络整理| 查看: 265

工作中经常碰到int8_t、int16_t、int32_t、int64_t、uint8_t、size_t、ssize_t等数据类型,所以有必要对此进行梳理。

int_t同类

int_t 为一个结构的标注,可以理解为type/typedef的缩写,表示它是通过typedef定义的,而不是一种新的数据类型。因为跨平台,不同的平台会有不同的字长,所以利用预编译和typedef可以最有效的维护代码。

 int8_t      : typedef signed char; uint8_t    : typedef unsigned char; int16_t    : typedef signed short ; uint16_t  : typedef unsigned short ; int32_t    : typedef signed int; uint32_t  : typedef unsigned int; int64_t    : typedef signed  long long; uint64_t  : typedef unsigned long long; SpecifierCommon EquivalentSigningBitsBytesMinimum ValueMaximum Valueint8_tsigned charSigned81-128127uint8_tunsigned charUnsigned810255int16_tshortSigned162-32,76832,767uint16_tunsigned shortUnsigned162065,535int32_tintSigned324-2,147,483,6482,147,483,647uint32_tunsigned intUnsigned32404,294,967,295int64_tlong longSigned648-9,223,372,036,854,775,8089,223,372,036,854,775,807uint64_tunsigned long longUnsigned648018,446,744,073,709,551,615

size_t与ssize_t

size_t主要用于计数,如sizeof函数返回值类型即为size_t。在不同位的机器中所占的位数也不同,size_t是无符号数,ssize_t是有符号数。

在32位机器中定义为:typedef  unsigned int size_t; (4个字节)在64位机器中定义为:typedef  unsigned long size_t;(8个字节)

由于size_t是无符号数,因此,当变量有可能为负数时,必须使用ssize_t。因为当有符号整型和无符号整型进行运算时,有符号整型会先自动转化成无符号。

int main() { unsigned short a; short int b = -1; a = b; cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3