Charles
Thinking low level, Coding high level
C++博客
首页
新随笔
联系
聚合
管理
posts - 71, comments - 41, trackbacks - 0
计算Int最大最小值
通常我们会使用CRT提供给我们的一个头文件<limits.h>中预定义宏INT_MAX, INT_MIN, UINT_MAX来定义int的最大最小值
下边给出由计算得出这些值的方法,其他数据类型同理
unsigned
int
GetUnsignedIntMax()
{
return
~
0
;
}
signed
int
GetSignedIntMax()
{
return
(static_cast
<
unsigned
int
>
(
~
0
))
>>
1
;
}
signed
int
GetSignedIntMin()
{
signed
int
i
=
-
1
;
if
(i
&
1
)
return
-
( (static_cast
<
unsigned
int
>
(
~
0
))
>>
1
)
-
1
;
else
return
-
( (static_cast
<
unsigned
int
>
(
~
0
))
>>
1
);
}
稍微解释一下,前两个没有什么好说的,最后一个要考虑是two complement还是one complement
如果是前者,有这样一个计算公式,~X + 1= -X,即一个数取反加一表示这个数所对应的负数
posted on 2006-12-01 15:55
Charles
阅读(2116)
评论(5)
编辑
收藏
引用
所属分类:
面试小算法
FeedBack:
#
re: 计算Int最大最小值
2006-12-04 09:24 |
史传红
很好。
回复
更多评论
#
re: 计算Int最大最小值
2006-12-13 10:15 |
brent
不错.
回复
更多评论
#
re: 计算Int最大最小值
2006-12-25 11:56 |
沐枫
为啥用函数呢...
const int INT_MAX = ~0;
这样不挺好的。
回复
更多评论
#
re: 计算Int最大最小值
2006-12-25 12:20 |
Charles
面试题而已,无他
回复
更多评论
#
re: 计算Int最大最小值
2008-04-14 18:40 |
网友
2147483647
回复
更多评论
刷新评论列表
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
Integer Partition
数1的个数
Fibonacci
简单打印内存的小玩意儿
矩阵式螺旋输出
求最大公约数与最小公倍数
数内置类型的bit数
计算Int最大最小值
两个堆栈模拟一个队列
检测补码表示
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
<
2006年12月
>
日
一
二
三
四
五
六
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
决定开始写工作日记,记录一下自己的轨迹...
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(4)
给我留言
查看公开留言
查看私人留言
随笔分类
(70)
Helper Utility(1)
读书作笔记(3)
发泄(3)
面试小算法(27)
拿来主义(25)
随笔(10)
一般人儿我不告诉他(1)
随笔档案
(71)
2008年3月 (1)
2008年2月 (1)
2007年7月 (3)
2007年3月 (3)
2007年1月 (18)
2006年12月 (16)
2006年11月 (29)
charles推荐访问
Code Project
Linux Journal
Linux man pages
Single UNIX Specification
电子书1
电子书2
电子书3
搜索
积分与排名
积分 - 49663
排名 - 452
最新评论
1. re: 简单打印内存的小玩意儿
不错
--dddd
2. re: 寻找最长连续递增子序列
这个只能算是方法,效率太低了
--大物
3. re: 数单词数
规范化;门口麻烦机;那么孔方兄那么妈妈法;酿母菌法那么;风格那么明年;愤怒麻烦那么愤怒愤怒留念多孔蕈乐观好看的里边赶快巴拿马城,新年巴拿马国际法,不
--申诉台
4. re: 数单词数
感到发现看来自动化大会单行本打开怎么赶快电子管矛盾感动不动门口‘大批看病黄道婆民主
--申诉台
5. re: 移除字符
评论内容较长,点击标题查看
--D_BOY
阅读排行榜
1. 求最大公约数与最小公倍数(3488)
2. COFF格式续篇—Lib文件的结构zz(2198)
3. 计算Int最大最小值(2116)
4. IA32/Windows&Linux高精度计时器(1729)
5. 寻找最长递增子序列(1470)
评论排行榜
1. 计算Int最大最小值(5)
2. IA32/Windows&Linux高精度计时器(4)
3. ZMD(3)
4. 寻找最长连续递增子序列(3)
5. 两个堆栈模拟一个队列(3)