c c++各种类型的取值范围
int类型的变量存储值从-2147483648到2147483647
- //例子
- #include <iostream>
- using namespace std;
- int main(void)
- {
- cout<<"int类型的取值范围为:"<<INT_MIN<<"到"<<INT_MAX<<endl;
- return ;
- }
unsigned int类型的变量存储值从0到4294967295
- //例子
- #include <iostream>
- using namespace std;
- int main(void)
- {
- cout<<"unsigned int类型的取值范围为:0到"<<UINT_MAX<<endl;
- return ;
- }
short类型的变量存储值从-32768到32767
unsigned short类型的变量存储值从0到65535
char类型的变量存储值从-128到127
unsigned char类型的变量存储值从0到255
long类型的变量存储值从-2147483648到2147483647
unsigned long类型的变量存储值从0到4294967295
long long类型的变量存储值从-9223372036854775808到9223372036854775807
unsigned long long类型的变量存储值从0到18446744073709551615
最小的非零float类型变量的值的是1.175e-038
最大的float类型变量的值的是3.403e+038
最小的非零double类型变量的值的是2.225e-308
最大的double类型变量的值的是1.798e+308
最小的非零long double类型变量的值的是-0.000e+000
最大的long double类型变量的值的是-1.#QOe+000
float类型的变量提供6位精度的小数位数
double类型的变量提供15位精度的小数位数
long double类型的变量提供18位精度的小数位数
- #include <stdio.h>
- #include <limits.h>
- #include <float.h>
- #include <stdlib.h>
- int main(void)
- {
- printf("char类型的变量存储值从%d到%d\n", CHAR_MIN, CHAR_MAX);
- printf("unsigned char类型的变量存储值从0到%u\n", UCHAR_MAX);
- printf("short类型的变量存储值从%d到%d\n", SHRT_MIN, SHRT_MAX);
- printf("unsigned short类型的变量存储值从0到%u\n", USHRT_MAX);
- printf("int类型的变量存储值从%d到%d\n", INT_MIN, INT_MAX);
- printf("unsigned int类型的变量存储值从0到%u\n", UINT_MAX);
- printf("long类型的变量存储值从%ld到%ld\n", LONG_MIN, LONG_MAX);
- printf("unsigned long类型的变量存储值从0到%lu\n\n", ULONG_MAX);
- printf("long long类型的变量存储值从%lld到%lld\n", LLONG_MIN, LLONG_MAX);
- printf("unsigned long long类型的变量存储值从0到%llu\n", ULLONG_MAX);
- printf("最小的非零float类型变量的值的是%.3e\n", FLT_MIN);
- printf("最大的float类型变量的值的是%.3e\n", FLT_MAX);
- printf("最小的非零double类型变量的值的是%.3e\n", DBL_MIN);
- printf("最大的double类型变量的值的是%.3e\n\n", DBL_MAX);
- printf("最小的非零long double类型变量的值的是%.3Le\n", LDBL_MIN);
- printf("最大的long double类型变量的值的是%.3Le\n", LDBL_MAX);
- printf("float类型的变量提供%u位精度的小数位数\n", FLT_DIG);
- printf("double类型的变量提供%u位精度的小数位数\n\n", DBL_DIG);
- printf("long double类型的变量提供%u位精度的小数位数\n", LDBL_DIG);
- system("pause");
- return ;
- }
- #include<iostream>
- #include<string>
- #include <limits>
- using namespace std;
- int main()
- {
- cout << "type: \t\t" << "************size**************"<< endl;
- cout << "bool: \t\t" << "所占字节数:" << sizeof(bool);
- cout << "\t最大值:" << (numeric_limits<bool>::max)();
- cout << "\t\t最小值:" << (numeric_limits<bool>::min)() << endl;
- cout << "char: \t\t" << "所占字节数:" << sizeof(char);
- cout << "\t最大值:" << (numeric_limits<char>::max)();
- cout << "\t\t最小值:" << (numeric_limits<char>::min)() << endl;
- cout << "signed char: \t" << "所占字节数:" << sizeof(signed char);
- cout << "\t最大值:" << (numeric_limits<signed char>::max)();
- cout << "\t\t最小值:" << (numeric_limits<signed char>::min)() << endl;
- cout << "unsigned char: \t" << "所占字节数:" << sizeof(unsigned char);
- cout << "\t最大值:" << (numeric_limits<unsigned char>::max)();
- cout << "\t\t最小值:" << (numeric_limits<unsigned char>::min)() << endl;
- cout << "wchar_t: \t" << "所占字节数:" << sizeof(wchar_t);
- cout << "\t最大值:" << (numeric_limits<wchar_t>::max)();
- cout << "\t\t最小值:" << (numeric_limits<wchar_t>::min)() << endl;
- cout << "short: \t\t" << "所占字节数:" << sizeof(short);
- cout << "\t最大值:" << (numeric_limits<short>::max)();
- cout << "\t\t最小值:" << (numeric_limits<short>::min)() << endl;
- cout << "int: \t\t" << "所占字节数:" << sizeof(int);
- cout << "\t最大值:" << (numeric_limits<int>::max)();
- cout << "\t最小值:" << (numeric_limits<int>::min)() << endl;
- cout << "unsigned: \t" << "所占字节数:" << sizeof(unsigned);
- cout << "\t最大值:" << (numeric_limits<unsigned>::max)();
- cout << "\t最小值:" << (numeric_limits<unsigned>::min)() << endl;
- cout << "long: \t\t" << "所占字节数:" << sizeof(long);
- cout << "\t最大值:" << (numeric_limits<long>::max)();
- cout << "\t最小值:" << (numeric_limits<long>::min)() << endl;
- cout << "unsigned long: \t" << "所占字节数:" << sizeof(unsigned long);
- cout << "\t最大值:" << (numeric_limits<unsigned long>::max)();
- cout << "\t最小值:" << (numeric_limits<unsigned long>::min)() << endl;
- cout << "double: \t" << "所占字节数:" << sizeof(double);
- cout << "\t最大值:" << (numeric_limits<double>::max)();
- cout << "\t最小值:" << (numeric_limits<double>::min)() << endl;
- cout << "long double: \t" << "所占字节数:" << sizeof(long double);
- cout << "\t最大值:" << (numeric_limits<long double>::max)();
- cout << "\t最小值:" << (numeric_limits<long double>::min)() << endl;
- cout << "float: \t\t" << "所占字节数:" << sizeof(float);
- cout << "\t最大值:" << (numeric_limits<float>::max)();
- cout << "\t最小值:" << (numeric_limits<float>::min)() << endl;
- cout << "size_t: \t" << "所占字节数:" << sizeof(size_t);
- cout << "\t最大值:" << (numeric_limits<size_t>::max)();
- cout << "\t最小值:" << (numeric_limits<size_t>::min)() << endl;
- cout << "string: \t" << "所占字节数:" << sizeof(string) << endl;
- // << "\t最大值:" << (numeric_limits<string>::max)() << "\t最小值:" << (numeric_limits<string>::min)() << endl;
- cout << "type: \t\t" << "************size**************"<< endl;
- return ;
- }
c c++各种类型的取值范围的更多相关文章
- GO语言学习笔记2-int类型的取值范围
相比于C/C++语言的int类型,GO语言提供了多种int类型可供选择,有int8.int16.int32.int64.int.uint8.uint16.uint32.uint64.uint. 1.i ...
- 为什么数值类型byte取值范围是(-128~127)?
在解决这个问题之前,我们先了解几个概念? 一.原码, 反码, 补码的概念 正数的反码和补码都与原码一样: 负数的反码.补码与原码不同,负数的反码:原码中除去符号位,其他的数值位取反,0变1,1变0.负 ...
- loadrunner:参数类型及其取值机制
参数类型 参数名随意取,建议取通俗易懂的名字,下面我们重点介绍一下参数的类型. ●DateTime: 很简单, 在需要输入日期/时间的地方, 可以用DateTime 类型来替代. 其属性设置也很简单, ...
- easyui radio 类型的取值和赋值方法
1.HTML 文件 <tr id="client_check1"> <th>委托人证件类型:</th> <td><input ...
- byte类型的取值为什么是-128~127
参考:https://blog.csdn.net/qq_22771739/article/details/84496115 https://blog.csdn.net/boatalways/artic ...
- 关于JAVA中Byte类型的取值范围的推论(*零为正数,-128在计算机中的表示方法...)
先看一段推理<*一切都是在8个比特位的前提下,讨论二进制的符号位,溢出等等,才有意义*> +124:0111 1100 -124:1000 0100 +125:0111 1101 -125 ...
- 为什么Java byte 类型的取值范围是-128~127 (转)
概念:负数的补码是该 数 绝 对 值 的 原 码 按 位 取 反 ,然 后 对 整个数 加 1 步骤: 1.确定byte是1个字节,也就是8位 2.最大的应该是0111 1111,因为第一位是符号位, ...
- c++中char类型的取值范围
-128~127,数字在计算机中以补码形式存储,因为正数的补码就是其本身且正数符号位置0,故最大值为01111111(一个0七个1)也就是127 而负数是对应正数值取反加一,拿最大的负数-1来说,就是 ...
- mySQL数值类型的取值范围
如下图,int最大为2145483647,手机号码应该用bigint
随机推荐
- Ubuntu14.04 dd命令克隆系统镜像安装到另一台机器上
linux系统如果想做备份还原,使用ghost的时候经常出现问题,后来发现可以直接使用dd命令完成硬盘的克隆和还原.当拷贝完硬盘后,就可以拿这个硬盘放到其它设备上跑了.也就是完成了“烧写”了. 用U盘 ...
- UVALive 4394 String painter ——(区间DP)
其实这个dp过程有点似懂非懂...代码如下: #include <stdio.h> #include <algorithm> #include <string.h> ...
- docker部署nginx+vue项目
1.vue项目打包 npm run build 会在项目生成dist文件夹,这个文件夹可以使用nginx或tomcat来发布服务 2.查找nginx基础镜像 可以通过以下网站找到符合自己的基础镜像,我 ...
- install slax record
#!/usr/bin/bash#apt update#apt upgradeapt install build-essential cmake gdb git vim binutils-doc cpp ...
- elasticsearch sql插件配置(5.0及以上版本)
github官方参考地址:https://github.com/NLPchina/elasticsearch-sql/ 采用 git + node 的方式,所以安装前需要先安装好node,node n ...
- 【locust】使用locust + boomer实现对接口的压测
背景 很早之前,考虑单机执行能力,使用locust做过公司短信网关的压测工作,后来发现了一个golang版本的locust,性能是python版本的5到10倍以上,但是一直没有机会使用. 最近公司想做 ...
- pwn学习日记Day16 pwn原理理解
CTF-Pwn入门及栈溢出原理解释 CTF pwn 中最通俗易懂的堆入坑指南 看雪论坛
- PYTHON -----pyinstaller的安装
这几天一直在安装pyinstaller库,发现了一个好方法 因为一直使用pip安装,我只能介绍一下pip安装pyinstaller的方法的注意事项 1:一般pip会在安装python的Scripts文 ...
- vi启动时报错:YouCompleteMe unavailable: requires Vim 7.4.1578+如何处理?
答:源码编译安装最新的vim 以redhat为例: 1. 移除旧的vi,vim sudo yum remove vi vim -y 2. 安装ncurses库 sudo yum install ncu ...
- InsetDrawable
表示把一个Drawable嵌入到另外一个Drawable的内部,并且在内部留一些间距, 类似与Drawable的padding属性,但padding表示的是Drawable的内容与Drawable本身 ...