C/C++语言中的int等基本数据类型所能表示的最大值最小值
来源:互联网 发布:ubuntu拼音打不出中文 编辑:程序博客网 时间:2024/05/16 01:21
最近在编程的过程中遇到一个问题,就是如何获得int等基本数据类型所能表示的最大值以及最小值。经过一番网上的查询,以及自己的实验,总结出了如下内容:
在定义一个int型的变量,并且想让它的值为最大时,我们应该如下定义:
int a = - ( ( 1<< ( sizeof ( int ) * 8 - 1 ) ) + 1);
这样,我们所定义的变量a的值就是int型所能表示的最大值。
如果我们想要定义一个变量并且使它的值为int型所能表示的最小值时,我们应如下定义:
int b = 1 << ( sizeof ( int ) * 8 - 1 );
这样,我们所定义的变量a的值就是int型所能表示的最小值。
同理,对于double或者float等基本类型,我们只需要将其中的int换成对应的数据类型的名称即可。
当然,在C/C++语言中,在头文件limits.h中,有关于各种基本数据类型的最大以及最小值的宏定义。例如,int型的最大值为INT_MAX,最小值为INT_MIN。
我们运行如下代码可以进行检验:
#include<stdio.h>#include<limits.h>#include<stdlib.h>int main(){ char string[128]; int amax=INT_MAX, bmax= - ( ( 1<< ( sizeof ( int ) * 8 - 1 ) ) + 1); int amin=INT_MIN, bmin = 1 << ( sizeof ( int ) * 8 - 1 ); printf("以下为int型所能表示的最大值:\n"); printf("宏定义 十进制 %d,\t二进制 %s\n\n",amax,itoa(amax,string,2)); printf("自定义 十进制 %d,\t二进制 %s\n\n\n",bmax,itoa(bmax,string,2)); printf("以下为int型所能表示的最小值:\n"); printf("宏定义 十进制 %d,\t二进制 %s\n\n",amin,itoa(amin,string,2)); printf("自定义 十进制 %d,\t二进制 %s\n",bmin,itoa(bmin,string,2)); system("pause"); return 0;}
对于以上代码中的itoa()函数,它是定义在头文件stdlib.h中的一个函数,功能是将数字转换成任意进制的数, 该函数的第一个参数是要转换的数字;第二个参数是一个用于存放转换后的字符串的字符串变量,我这里用的是一个字符数组;第三个参数是要转换成的进制数,我这里是要转换成二进制,后面的数字就是2。对以该函数的详细了解,可参阅http://baike.baidu.com/link?url=QIOdn0VDtxTp5Ju05uAablsWq4kjAAsMDvvicrWC61_MfiCv83zqS6XWOcXYdem41rwf9Jszt-T4H33I-ArsHq
如下图所示结果:
以上内皆为本人请自验证。
如有疑问,请发送邮件至1993wbb@sina.cn或者加QQ群274313939寻求解答
- C/C++语言中的int等基本数据类型所能表示的最大值最小值
- c/c++ 基本数据类型最大值,最小值是多少?负数是怎样表示的。
- C/C++ int、long、double、char等各种内置数据类型的表示范围(最大最小值)
- C语言中,int的最大值与最小值:
- c语言中各种数据类型的最大值最小值
- 【所悟】【C语言中的基本数据类型】
- C支持的Int最大值与最小值
- C/C++中各种数据类型 如 int ,char long,double 的范围(最大值和最小值)
- 如何得到C语言中int最小值和最大值
- c语言中计算int,float,double,char四种数据类型所能表示的数据范围
- C/C++语言中计算int,float,double,char四种数据类型所能表示的数据范围
- 用表达式来表示int 和 unsigned int 所能表示的最大值
- c语言中int long float double 等类型所占字节及输出表示
- C语言输出最大值最小值
- C语言基本数据类型int float double
- 关于C和C++中的基本数据类型int、long、long long、float、double、char、string的大小及表示范围
- 关于C和C++中的基本数据类型int、long、long long、float、double、char、string的大小及表示范围
- c语言基本数据类型所占的位数
- C语言运算符优先级
- 德国还打我就勾搭我感觉快打我就看打我打我的瓦打我的
- 产品经理之原型协作
- TreeView 无法折叠问题
- Android开发环境搭建——Eclipse ADT bundle
- C/C++语言中的int等基本数据类型所能表示的最大值最小值
- 解决小米miui系统调用系统裁剪图片功能camera.action.CROP后崩溃或重新打开app的问题
- java设计模式之单例模式的介绍
- Substring with Concatenation of All Words
- CSS table表格消除边框和表格中省略号隐藏超长文本
- 有关C++增量链接的解读:
- 使用github 配置bitbucket SSH
- 64位ubuntu上搭建android开发环境
- 关于内存泄漏的问题