c语言中uint32是啥意思_uint16数据类型

c语言中uint32是啥意思_uint16数据类型C++的基础数据类型:C++的主要数据类型,主要分为三类:布尔型,整型(char型从本质上说,也是种整型类型,它是长度为1的整数,通常用来存放字符的ASCII码),浮点型。而*_t是typedef定义的表示标志,是结构的一种标注。即我们所看到的uint8_t、uint16_t、uint32_t都不是新的数据类型,而是通过typedef给类型起得别名。uint8_t/uint…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

C++的基础数据类型:

c语言中uint32是啥意思_uint16数据类型

C++的主要数据类型,主要分为三类:布尔型,整型(char型从本质上说,也是种整型类型,它是长度为1的整数,通常用来存放字符的ASCII码)浮点型

而 *_t是typedef定义的表示标志,是结构的一种标注。即我们所看到的 uint8_t、uint16_t、uint32_t都不是新的数据类型,而是通过typedef给类型起得别名。


uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型

这些数据类型是 C99 中定义的,具体定义在:/usr/include/stdint.h    ISO C99: 7.18 Integer types <stdint.h>

/* 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

注意,uint8_t实际上就是一个char,所以输出 uint8_t类型的变量实际上输出对应的字符,而不是数值,比如:

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

若要输出 67,则可以这样:

cerr<< “field=” << (uint16_t) fieldID <<endl;

结果是:field=67

同样: uint8_t 类型变量转化为字符串以及字符串转化为 uint8_t 类型变量都要注意, uint8_t类型变量转化为字符串时得到的会是ASCII码对应的字符, 字符串转化为 uint8_t 变量时, 会将字符串的第一个字符赋值给变量.

#include <iostream>
#include <stdint.h>
#include <sstream>
using namespace std;
 
 
int main()
{
    uint8_t fieldID = 67;
 
    // uint8_t --> string
    string s;
    ostringstream strOStream;
    strOStream << fieldID;
    s = strOStream.str();
    cerr << s << endl;
    
    // string --> uint8_t
    s = "65"; 
    stringstream strStream;
    strStream << s;
    strStream >> fieldID;
    strStream.clear();
    cerr << fieldID << endl;
}
-------------------------------------------
上述代码输出的是:
C
6

上部分转自:https://blog.csdn.net/zklth/article/details/7978362

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/196369.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • QTreeView 使用

    QTreeView 使用QTreeView结构介绍:树控件的标题QHeaderView,相关用法参考Qt文档。控件使用的model/view框架,QTreeView实现了QAbstractItemView里声明的相关接口,由QAbstractItemModel为控件提供显示数据。自定义数据,通过QStandardItemModel和QTreeView连用,用QStandardItem属性介绍:…

  • linux udp端口怎么打开_debian防火墙开放端口

    linux udp端口怎么打开_debian防火墙开放端口iptables是linux下的防火墙,同时也是服务名称。那么你知道Linux防火墙怎么开放端口么?接下来是小编为大家收集的Linux防火墙开放端口,欢迎大家阅读:Linux防火墙开放端口serviceiptablesstatus查看防火墙状态serviceiptablesstart开启防火墙serviceiptablesstop关闭防火墙serviceiptablesres…

  • jquery 常用工具方法

    //计算年龄 calcAge:function(birthday,calcDate){varnum=(calcDate.getMonth()<birthday.getMonth()

  • oracle ORA-00918 未明确定义列「建议收藏」

    oracle ORA-00918 未明确定义列「建议收藏」 出现这种错误,一般是列名重复导致的,如下: createtabletestchar(v_datevarchar2(20),d_datedate)insertintotestcharselect’2018-07-20′,date’2018-07-20’fromdual;#这时候有两个字段都是vv,那么查询时,就会区分不出来这两列,oracl…

  • sqlite database browser 下载_SQLiteDeveloper

    sqlite database browser 下载_SQLiteDeveloper介绍一个SQLitepc端工具,可以查看SQLite

  • html怎么使表格居中,html怎么使表格居中[通俗易懂]

    html怎么使表格居中,html怎么使表格居中[通俗易懂]回答:HTML中两个表格间的距离调整有两种适合微调的办法:1.设置第一个tbale的margin-bottom属性。例如:表示table表格底部保持100px间距。2.设置第二个tbale的margin-top属性。例如:表示table表格顶部保持100px间距。扩展知识margin属性可以单独改变元素(元素可以是表格或者DIV)的上,下,左,右边距。也可以一次改变所有的属性。margin属性…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号