首页 > 其他分享 >C语言uint8

C语言uint8

时间:2022-11-18 17:48:16浏览次数:74  
标签:typedef int 数据类型 uint8 long C语言 char

一、C语言基本数据类型回顾

在C语言中有6种基本数据类型:short、int、long、float、double、char

1、数值类型

1)整型:short、int、long

2)浮点型:float、double

2、字符类型:char

二、typedef回顾

typedef用来定义关键字或标识符的别名,例如:

typedef double wages;
typedef wages salary;
三、uint8_t\uint_16_t\uint32_t\uint64_t
1、这些类型的来源:这些数据类型中都带有_t, _t 表示这些数据类型是通过typedef定义的,而不是新的数据类型。也就是说,它们其实是我们已知的类型的别名。

2、使用这些类型的原因:方便代码的维护。比如,在C中没有bool型,于是在一个软件中,一个程序员使用int,一个程序员使用short,会比较混乱。最好用一个typedef来定义一个统一的bool:

typedef char bool;
在涉及到跨平台时,不同的平台会有不同的字长,所以利用预编译和typedef可以方便的维护代码。

3、这些类型的定义:

在C99标准中定义了这些数据类型,具体定义在:/usr/include/stdint.h ISO C99: 7.18 Integer types

#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

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
4、格式化输出:

uint16_t %hu
uint32_t %u
uint64_t %llu
5、uint8_t类型的输出:
注意uint8_t的定义为

typedef unsigned char uint8_t;
uint8_t实际上是一个char。所以输出uint8_t类型的变量实际上输出其对应的字符,而不是数值。例:

uint8_t num = 67;
cout << num << endl;
输出结果:C

参考:http://www.360doc.com/content/18/1208/12/32862269_800182367.shtml

标签:typedef,int,数据类型,uint8,long,C语言,char
From: https://www.cnblogs.com/amxiang/p/16904020.html

相关文章

  • C语言函数的取地址符和星号
    最近对函数的星号和取地址符有些困惑于是写了这一点简单的代码来回忆一下;1、#include<stdio.h>voidf(intx,inty){intt;t=x;x=y;y=t;printf("x=%d;......
  • 【c&c++】C语言 结构体 - 字节对齐 使用预处理命令 #pragma 对齐
    在C语言中每个数据类型都有他的对齐方式例如char是一个一节对齐,int是四个字节对齐,float是八个字节对齐,short是两个字节对齐由于对齐方式的特性就会拥有相同成员的结......
  • C语言:找最大交错正方形
    题目图上有一个矩阵,由N*M个格子组成,这些格子由两种颜色构成,黑色和白色。请找到面积最大的且内部是黑白交错(即两个相连的正方形颜色不能相同)的正方形。输入格式:第一行两......
  • C语言:计算器
    题目请你编写一个科学计算器,支持多括号嵌套的四则运算,三角函数及指数对数运算功能可选(功能越多越好,指数的输入格式为a^b,对数的输入格式为logab,(其中a为底数))代码#in......
  • C语言:约瑟夫环
    题目n个人围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,数到m的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。 例如:  ......
  • C语言:IPv6地址压缩
    题目IPv6二进位制下为128位长度,以16位为一组,每组以冒号“:”隔开,可以分为8组,每组以4位十六进制方式表示。例如:2001:0db8:0000:0000:0123:4567:89ab:cdef是一个......
  • C语言:大数减法
    题目输入两个正整数(20位以上),计算两个数的差 例如:  输入:5626255555855853666554212125121252222521  输出:2050430437306314144代码#include<stdio.h>#inclu......
  • C语言:最小子数组和
    题目给你一个整数数组,请你找出一个具有最小和的连续子数组(子数组最少包含一个元素),返回其最小和。子数组是数组中的一个连续部分。 例如:  输入:-21-34-1-21-......
  • C语言:蛇形方阵
    题目给出一个不大于9的正整数n,输出n×n的蛇形方阵。从右上角填上1开始,逆时针方向依次填入数字,如同样例所示。注意每个数字都右对齐,中间用空格隔开。 例如:  ......
  • C语言:连续子串
    题目输入一个字符串,输出其所有的子串(不包含本身,输出每个子串间有空格)。子串:对于一个字符串变量,例如"adereegfbw",它的子串就是像"ader"这样可以从中找到的连续的字符......