新足迹

 找回密码
 注册

精华好帖回顾

· 1-2-3 Magic Parenting Program (适用2岁-12岁) (2011-9-9) jiejie · 一道简单的鱼肉菜谱 - 金玉满堂 (2005-1-19) JACK
· 艳丽悉尼---摄影大拼盘 (2010-6-16) sinkai · 墨尔本的火车 (2005-10-5) goldenapple
Advertisement
Advertisement
查看: 1331|回复: 9

2^32-1=? 提示:signed & unsigned integer --- 已解决,多谢高手们! [复制链接]

发表于 2012-2-23 10:44 |显示全部楼层
此文章由 jn1216 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jn1216 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果一个field的最大值是2^32-1?你们怎么理解?
我有点糊涂了,谁能帮我扩展分析分析。



提示:这个应该是 a “signed” integer.
the problem was that a max value of 2^31 doesn’t make sense, but a max value of (2^31)-1 is acceptable.

Signed Integer range:  –2147483648 through 2147483647, which is (2^31)-1.
Unsigned Integer range:  0 through 4294967295, which is (2^32)-1.

[ 本帖最后由 jn1216 于 2012-2-23 13:41 编辑 ]
Advertisement
Advertisement

2012年度奖章获得者 2011年度奖章获得者

发表于 2012-2-23 11:50 |显示全部楼层

回复 jn1216 1# 帖子

此文章由 交易人生 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 交易人生 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你彻底把我搞糊涂了,可能所答非所问。

按8位算

signed

00000000 0
00000001 1
01111111 127
10000000  (-128)
10000001  (-127)
11111111  (-1)

共有256种变化

unsigned


00000000 0
00000001 1
01111111 127
10000000  (128)
10000001  (129)
11111111  (255)

共有256种变化  2^8

8位在电脑硬件里可以认为8个独立的触发器,5伏电压是1,0伏是0,有8个触发器,最多也就256种变化,也只能代表256个数字。

你想siged的value最多有多少?最多256个,从-128到127,同时也满足了运算器的需求。

这是硬件决定的,就是这么设计的。

评分

参与人数 1积分 +3 收起 理由
jn1216 + 3 我也糊涂了,不过谢谢码了这么多字儿。

查看全部评分

0  to 1

发表于 2012-2-23 12:02 |显示全部楼层
此文章由 anotherone 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 anotherone 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我没看明白,楼主你的问题/疑惑是什么?

signed integer第一位用作正负号,所以最大值只有2^31-1
unsigned没有正负号,所以最大值2^32-1

评分

参与人数 1积分 +4 收起 理由
jn1216 + 4 感谢分享

查看全部评分

发表于 2012-2-23 12:08 |显示全部楼层
此文章由 pengruijun 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 pengruijun 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我猜楼主可能迷惑 为什么要 -1.
计算机是从0开始计数的, 2^32 个数字, 最大值当然是 2^23 -1 了

评分

参与人数 1积分 +3 收起 理由
jn1216 + 3 感谢分享

查看全部评分

发表于 2012-2-23 12:53 |显示全部楼层
此文章由 jerryclark 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jerryclark 所有!转贴必须注明作者、出处和本声明,并保持内容完整
unsigned int:
Max: The value of this constant is 4,294,967,295; that is, hexadecimal 0xFFFFFFFF.
Min: The value of this constant is 0.

Signed int
Max: The value of this constant is 2,147,483,647; that is, hexadecimal 0x7FFFFFFF.
Min: The value of this constant is -2,147,483,648; that is, hexadecimal 0x80000000.

评分

参与人数 1积分 +3 收起 理由
jn1216 + 3 谢谢奉献

查看全部评分

发表于 2012-2-23 13:32 |显示全部楼层
此文章由 jn1216 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jn1216 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 anotherone 于 2012-2-23 12:02 发表
我没看明白,楼主你的问题/疑惑是什么?

signed integer第一位用作正负号,所以最大值只有2^31-1
unsigned没有正负号,所以最大值2^32-1


这个有点儿意思了。
Advertisement
Advertisement

发表于 2012-2-23 13:39 |显示全部楼层
此文章由 jn1216 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jn1216 所有!转贴必须注明作者、出处和本声明,并保持内容完整
就知道足迹有高手。

原来有个正负号占一位的问题,就是不明白这32怎么就忽然变成31了。
也查了资料有那个n-bit integer有那个n-1一说,就是不知道为什么。


是我大学的时候没教,还是我不学无术?
不过计算机这部分,还真不是重点课程。

多谢各位大侠!搞明白了,我继续干活儿去了。


[ 本帖最后由 jn1216 于 2012-2-23 13:48 编辑 ]

2012年度奖章获得者 2011年度奖章获得者

发表于 2012-2-23 14:46 |显示全部楼层

回复 jn1216 7# 帖子

此文章由 交易人生 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 交易人生 所有!转贴必须注明作者、出处和本声明,并保持内容完整
正负号之说有一定商榷余地,只能说:在这种编码方式下,高位为1,是负数,为0是非负数。,绝对不是一个正负号的标志,这种编码方式,是为了运算,为了加法器。如果真是个标志,1应当为00000001,-1应当为10000001,但不是,因为加法器无法运算1+(-1);所以1为00000001,-1为11111111,1+(-1)运算应当为100000000,加法器为8位,正好舍去第9位的1,变成00000000。要理解这根本不是正负号的标志,而是编码方式。

基本功啊。

[ 本帖最后由 交易人生 于 2012-2-23 14:47 编辑 ]
0  to 1

发表于 2012-2-23 14:54 |显示全部楼层
此文章由 jn1216 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jn1216 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 交易人生 于 2012-2-23 14:46 发表
正负号之说有一定商榷余地,只能说:在这种编码方式下,高位为1,是负数,为0是非负数。,绝对不是一个正负号的标志,这种编码方式,是为了运算,为了加法器。如果真是个标志,1应当为00000001,-1应当为10000001,但不是,因为加法器无法运算1 ...



没关系,编码不是我的工作。

好在不是……

发表于 2012-2-24 13:17 |显示全部楼层
此文章由 anotherone 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 anotherone 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 交易人生 于 2012-2-23 14:46 发表
正负号之说有一定商榷余地,只能说:在这种编码方式下,高位为1,是负数,为0是非负数。,绝对不是一个正负号的标志,这种编码方式,是为了运算,为了加法器。如果真是个标志,1应当为00000001,-1应当为10000001,但不是,因为加法器无法运算1 ...

虽然我的解释不严谨,不过还是比较直观、深入浅出,哈哈,你这么解释只能把楼主搞得更晕(monkey13)

另外,好奇你是不是做硬件的,所以这些具体的东西还记得很清楚,我早忘了细节了,你一说才想起来。

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部