Qt6数据类型-qint8、quint8、qint16、quint16、qint32、qu。。。

更新时间:2023-07-10 03:02:17 阅读: 评论:0

Qt6数据类型-qint8、quint8、qint16、quint16、qint32、qu。。。
⽂章⽬录
本⽂内容:Qt6数值类型取值范围的例⼦、Qt6使⽤的基本数据类型、C++基本数据类型、还有⼀个⽐较好的例⼦(重点重点重点)1.七种基本的 C++ 数据类型
类型关键字
布尔型bool
字符型char
整型int
浮点型float
双浮点型double
⽆类型void
宽字符型wchar_t
其实 wchar_t 是这样来的:
typedef short int wchar_t;
建房协议2.类型的变量所能存储的最⼤值和最⼩值
类型位范围
char  1 个字节-128 到 127 或者 0 到 255
unsigned char  1 个字节0 到 255
signed char  1 个字节-128 到 127
int  4 个字节-2147483648 到 2147483647
unsigned int  4 个字节0 到 4294967295
signed int  4 个字节-2147483648 到 2147483647
short int  2 个字节-32768 到 32767
unsigned short int  2 个字节0 到 65,535
signed short int  2 个字节-32768 到 32767
long int8 个字节-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807侵犯的近义词
signed long int8 个字节-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
每学期unsigned long int8 个字节0 到 18,446,744,073,709,551,615
float  4 个字节精度型占4个字节(32位)内存空间,+/- 3.4e +/- 38 (~7 个数字)
double8 个字节双精度型占8 个字节(64位)内存空间,+/- 1.7e +/- 308 (~15 个数字)
long double16 个字节长双精度型 16 个字节(128位)内存空间,可提供18-19位有效数字。
wchar_t  2 或 4 个字节  1 个宽字符
不同平台所占字节数
3.Qt中使⽤的数据类型
类型描述
qint8char
华语金曲奖qint16short int
qint32int
qint64long long int
qintptr整数类型,⽤于表⽰带符号整数中的指针(⽤于散列等)。qint32 或 qint64 的类型定义qlonglong long long int
qptrdiff⽤于表⽰指针差异的整数类型。
qreal除⾮ Qt 配置了 -qreal float 选项,否则为 double 类型定义。
qsizetype在 Qt ⽀持的所有平台上,该类型保证与 size_t 的⼤⼩相同。
quint8unsigned char
quint16unsigned short
quint32unsigned int
quint64unsigned long long int
quintptr⽤于在⽆符号整数中表⽰指针的整数类型(⽤于散列等)。quint32 或 quint64 的类型定义qulonglong unsigned long long int
uchar unsigned char.
类型描述
uint unsigned int.
ulong unsigned long.
ushort unsigned short.
float单精度
double双精度
4.占⽤字节数计算API
//获取字节⼤⼩
sizeof(T)
#include<limits>
//获取某类型的最⼤值
std::numeric_limits<T>::max()
//获取某类型的最⼩值
std::numeric_limits<T>::min()
//打印
#include<QtDebug>
qDebug()<<"size:"<<sizeof(T)<<"max:"<<std::numeric_limits<T>::max()<<"min:"<<std::numeric_limits<T>::min(); //输出数据类型
qDebug()<<typeid(T).name()
//帮助偷懒的gcc输出变量名
#  if defined(__GNUC__)
char* real_name = abi::__cxa_demangle(typeid(T).name(),nullptr,nullptr,nullptr);
free(real_name);
#  el
std::cout <<typeid(T).name();
#  endif
5.实现打印变量类型、字节数、最⼤值、最⼩值的例⼦
例⼦是最好的⽼师(精⼼编写,这是重点)
1.打印数据类型最⼤值和最⼩值
2.实现⼀个函数打印最⼤值最⼩值
3.实现⼀个类打印⼤最值最⼩值
答案
#include<QCoreApplication>
#include<QtGlobal>
#include<limits>
#include<QtDebug>
#include<cxxabi.h>
template<typename T>
void showRange(T *t)
{
可以用牛奶吃药吗qDebug()<<typeid(T).name()<<"size:"<<sizeof(T)<<"max:"<<std::numeric_limits<T>::max()<<"min:"<<std::numeric_limits<T>::min();
}
template<class T>
class check
{
public:
T m_t;
check()
{
//因为gcc打印不出变量的全名称,所以需要添加下⾯的代码,vc++没有这个问题
#  if defined(__GNUC__)
char* real_name = abi::__cxa_demangle(typeid(T).name(),nullptr,nullptr,nullptr);
qDebug()<<real_name<<"size:"<<sizeof(T)<<"max:"<<std::numeric_limits<T>::max()<<"min:"<<std::numeric_limits<T>::min();
free(real_name);
#  el
qDebug()<<typeid(T).name()<<"size:"<<sizeof(T)<<"max:"<<std::numeric_limits<T>::max()<<"min:"<<std::numeric_limits<T>::min(); #  endif
}
};
int main(int argc,char*argv[])
{
QCoreApplication a(argc, argv);
#if 0  //改成1打开
//最low的⽅式
qDebug()<<"quint32 "<<"max:"<<std::numeric_limits<quint32>::max()<<"min:"<<std::numeric_limits<quint32>::min();
//稍微优雅的⽅式
quint32 i;
showRange(&i);
#endif
//最⽜的⽅式
check<quint8> uit1;
check<quint16> uit2;
check<quint32> uit3;樊笼是什么意思
check<quint64> uit4;
check<qint8> it1;座师
check<qint16> it2;
check<qint32> it3;
check<qint64> it4;
();
西装品牌前十名
}

本文发布于:2023-07-10 03:02:17,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1088419.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:类型   打印   整数   指针   变量
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图