如何得到C语言中int最小值和最大值
来源:互联网 发布:半正定矩阵怎么理解 编辑:程序博客网 时间:2024/05/09 05:16
方法1:
printf("%d\n",~(unsigned int)0/2);
当无符号0以二进制存储在内存中时,每一位都为0,以32位int为例,0(unsigned int)的二进制为:
00000000 00000000 00000000 00000000
按位取反(~)后变成:
11111111 11111111 11111111 11111111
此时的十进制为:
4294967295
除以2(int类型中有一半表示负数,且比正数多一个),得到:
2147483647
即为32位int型最大值
方法2:
#include <stdio.h>
int main()
{
int i=0,j=1;
while (j>0)
{
j++;
i++;
}
printf("%d\n",i);
printf("%d\n",j);
return 0;
}
整数值越界后符号改变
方法3:
#include <stdio.h>
int main()
{
int i=0;
i=~i;
i=i<<(sizeof(int)*8-1);
printf("%d\n",i);
i--;
printf("%d\n",i);
return 0;
}
计算机采用补码存储,先补码得到-1(即各位全为1),然后利用移位运算得到最小,进而得到最大。
0 0
- 如何得到C语言中int最小值和最大值
- 如何得到C语言中int的最大值
- [小技巧]如何得到C语言中int最大值
- [小技巧]如何得到C语言中int最大值
- C语言中,int的最大值与最小值:
- C/C++如何得到int型最大值
- C/C++中各种数据类型 如 int ,char long,double 的范围(最大值和最小值)
- JAVA得到数组中最大值和最小值的简单实例
- C++中生成int类型的最大值和最小值方法
- 如何得到int类型的最大值(C++)
- C语言输出最大值最小值
- C支持的Int最大值与最小值
- C语言之反序数组和求最大值和最小值
- 数组中得到最大值与最小值
- c语言中各种数据类型的最大值最小值
- 求数组中数的最大值、最小值(C语言)
- C语言查找最大值和最小值递归实现
- 谈谈int,long的最大值和最小值.
- 一套扁平化界面风格的flex 皮肤
- sqlmap参数详细说明
- 基于.net平台下数据库访问类(总结)
- 黑塞矩阵
- 黑马程序员_Java基础_集合框架成员Map
- 如何得到C语言中int最小值和最大值
- Oracle 事物隔离级别
- 计算器
- 最小圆覆盖
- 虚继承下对象大小的实验
- 高斯混合模型(GMM)
- 1.学习认识Hessian
- 并行计算有向无环图和fork/join 框架
- tarjan算法求割点 (poj1523为例)