.TH "D:/gitt/MicrochipFor32/bsp_Device/varint.h" 3 "2022年 十一月 24日 星期四" "Version 2.0.0" "MF32BSP_XerolySkinner" \" -*- nroff -*- .ad l .nh .SH NAME D:/gitt/MicrochipFor32/bsp_Device/varint.h \- 全局共用的标准类型表 .SH SYNOPSIS .br .PP \fC#include 'stdint\&.h'\fP .br .SS "宏定义" .in +1c .ti -1c .RI "#define \fBP8\fP(x) ((\fBu8\fP*)(&(x)))" .br .RI "强制转换变成u8的指针 " .ti -1c .RI "#define \fBPn8\fP(x, y) (((\fBu8\fP*)(&(x)))[y])" .br .RI "强制转换变成u8的数组 " .ti -1c .RI "#define \fBP16\fP(x) ((\fBu16\fP*)(&(x)))" .br .RI "强制转换变成u16的指针 " .ti -1c .RI "#define \fBPn16\fP(x, y) (((\fBu16\fP*)(&(x)))[y])" .br .RI "强制转换变成u16的数组 " .ti -1c .RI "#define \fBP32\fP(x) ((\fBu32\fP*)(&(x)))" .br .RI "强制转换变成u32的指针 " .ti -1c .RI "#define \fBPn32\fP(x, y) (((\fBu32\fP*)(&(x)))[y])" .br .RI "强制转换变成u32的数组 " .ti -1c .RI "#define \fBDelLb\fP(x) (x & (x \- 1))" .br .RI "移除最低位的1 " .ti -1c .RI "#define \fBqDelLb\fP(x) (x=(x & (x \- 1)))" .br .RI "移除并保存最低位的1 " .ti -1c .RI "#define \fBtoBool\fP(x) (x!=0)" .br .RI "数布尔化 " .ti -1c .RI "#define \fBuBit\fP(x, y) (x&(1<0?x\-1:y\-1)" .br .RI "带最低限制的减法 " .ti -1c .RI "#define \fBqLpAdd\fP(x, y) (x=(x+1)0?x\-1:y\-1)" .br .RI "带最低限制的自减 " .in -1c .SS "类型定义" .in +1c .ti -1c .RI "typedef uint8_t \fBu8\fP" .br .RI "8位无符号数类型 " .ti -1c .RI "typedef uint16_t \fBu16\fP" .br .RI "16位无符号数类型 " .ti -1c .RI "typedef uint32_t \fBu32\fP" .br .RI "32位无符号数类型 " .ti -1c .RI "typedef uint64_t \fBu64\fP" .br .RI "64位无符号数类型 " .ti -1c .RI "typedef int8_t \fBi8\fP" .br .RI "8位有符号数类型 " .ti -1c .RI "typedef int16_t \fBi16\fP" .br .RI "16位有符号数类型 " .ti -1c .RI "typedef int32_t \fBi32\fP" .br .RI "32位有符号数类型 " .ti -1c .RI "typedef int64_t \fBi64\fP" .br .RI "64位有符号数类型 " .ti -1c .RI "typedef volatile \fBu8\fP \fBvu8\fP" .br .RI "8位无符号易变类型 " .ti -1c .RI "typedef volatile \fBu16\fP \fBvu16\fP" .br .RI "16位无符号易变类型 " .ti -1c .RI "typedef volatile \fBu32\fP \fBvu32\fP" .br .RI "32位无符号易变类型 " .ti -1c .RI "typedef volatile \fBu64\fP \fBvu64\fP" .br .RI "64位无符号易变类型 " .ti -1c .RI "typedef volatile \fBi8\fP \fBvi8\fP" .br .RI "8位有符号易变类型 " .ti -1c .RI "typedef volatile \fBi16\fP \fBvi16\fP" .br .RI "16位有符号易变类型 " .ti -1c .RI "typedef volatile \fBi32\fP \fBvi32\fP" .br .RI "32位有符号易变类型 " .ti -1c .RI "typedef volatile \fBi64\fP \fBvi64\fP" .br .RI "64位有符号易变类型 " .in -1c .SH "详细描述" .PP 全局共用的标准类型表 .PP 在文件 \fBvarint\&.h\fP 中定义\&. .SH "宏定义说明" .PP .SS "#define DelLb(x) (x & (x \- 1))" .PP 移除最低位的1 .PP 在文件 \fBvarint\&.h\fP 第 \fB69\fP 行定义\&. .SS "#define LpAdd(x, y) ((x+1)0?x\-1:y\-1)" .PP 带最低限制的减法 .PP 在文件 \fBvarint\&.h\fP 第 \fB81\fP 行定义\&. .SS "#define mBit(x, y, z) ((z)?\fBsBit\fP(x,y):\fBrBit\fP(x,y))" .PP 选择性拉高拉低某一位 .PP 在文件 \fBvarint\&.h\fP 第 \fB78\fP 行定义\&. .SS "#define P16(x) ((\fBu16\fP*)(&(x)))" .PP 强制转换变成u16的指针 .PP 在文件 \fBvarint\&.h\fP 第 \fB64\fP 行定义\&. .SS "#define P32(x) ((\fBu32\fP*)(&(x)))" .PP 强制转换变成u32的指针 .PP 在文件 \fBvarint\&.h\fP 第 \fB66\fP 行定义\&. .SS "#define P8(x) ((\fBu8\fP*)(&(x)))" .PP 强制转换变成u8的指针 .PP 在文件 \fBvarint\&.h\fP 第 \fB62\fP 行定义\&. .SS "#define Pn16(x, y) (((\fBu16\fP*)(&(x)))[y])" .PP 强制转换变成u16的数组 .PP 在文件 \fBvarint\&.h\fP 第 \fB65\fP 行定义\&. .SS "#define Pn32(x, y) (((\fBu32\fP*)(&(x)))[y])" .PP 强制转换变成u32的数组 .PP 在文件 \fBvarint\&.h\fP 第 \fB67\fP 行定义\&. .SS "#define Pn8(x, y) (((\fBu8\fP*)(&(x)))[y])" .PP 强制转换变成u8的数组 .PP 在文件 \fBvarint\&.h\fP 第 \fB63\fP 行定义\&. .SS "#define qDelLb(x) (x=(x & (x \- 1)))" .PP 移除并保存最低位的1 .PP 在文件 \fBvarint\&.h\fP 第 \fB70\fP 行定义\&. .SS "#define qLpAdd(x, y) (x=(x+1)0?x\-1:y\-1)" .PP 带最低限制的自减 .PP 在文件 \fBvarint\&.h\fP 第 \fB84\fP 行定义\&. .SS "#define rBit(x, y) (x&(~(1<