鱼C论坛

 找回密码
 立即注册
查看: 3450|回复: 5

问一个很没有水平的问题。。

[复制链接]
发表于 2012-7-27 16:01:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
用VC++6编译器查看,整型变量(int有符号)的字节数是4B(32bit)嘛(= =废话),那啥呗,数的范围如果无符号就是2的32次方个数字嘛,如果有符号就是对半分应该没错吧。(如果是我概念错误大家就不要看下面的话了)今天俺第二次看鱼老C语言的第三集(喂效率何在),我一直在想啊,如果说是对半分的话,就是2的32次方除以2啊,然后我数学不是很好,想了一会,最后觉得应该是2的31次方(除以2了之后),在此感谢数学老师教的同底数幂除法。可是貌似说对半分后是2的16次方,然后我就很纠结了,后悔以前数学课做英语作业了。

然后我又开始纠结对半,要不要考虑0。如果无符号4个数(0,1,2,3),对半分就是+2到-2(-2,-1,0,1,2),加上0是5个数了。

好吧,数学差就是麻烦点。我觉得我太没天分了OTZ。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-27 16:11:49 | 显示全部楼层
signed   int长度为2个字节(16bit),2de 16次方为65536,取值范围为:-32768~32767(考虑到0);unsigned 长度为2B,取值范围为:0~65535.
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-7-27 16:59:32 | 显示全部楼层
本帖最后由 世界真美好 于 2012-7-27 17:02 编辑

做了个实验,表示就这样吧。计算机的结果是2的31次方。然后a=2的31次方减1(不减1就不成功,也就是说有考虑到“0”才对)
Baidu IME_2012-7-27_16-56-17.jpg
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-7-27 17:10:56 | 显示全部楼层
本帖最后由 世界真美好 于 2012-7-27 17:14 编辑

VC++6编译器int都是都是4字节的啊。短整型是2个字节是没错啦。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-27 20:30:53 | 显示全部楼层
其实LZ问的这个问题很有水平。。。比那些扔一堆乱码叫人找错误的人强的多。。。其实真正懂这个的人也没几个,我说新人。。。
对于32位PC机,int 为四个字节,也就是32位,32根线表示2进制最大能表示多少呢,先说无符号啊。。。
32位全部填1. 对不对?  最大的数 是不是32位全部是1?   那你可以算一下 32位全部是1,算出来是多少?
所以用2的32次方减1,这样的算法是错的,这样教学生的老师也说错了。尽管结果是对的,但是他若这样算,那就是还不懂。。。。你懂的,四个二进制的1是0xF,  那么32位,就是8个F,0xFFFFFFFF..  然后你说的有符号,确实是平分位两半,平分的这个问题,我曾跟别人争论过两天。。。,我按照16进制说啊,也是计算机里面数据的存储说的,因为编程久了,就很少说10进制了。。。0x80000000`0xFFFFFFFF   表示负数,0`0x7FFFFFFF  表示正数,这样你有没有发现正好构成了一个圆,你不妨画一个圆看看,0的右边是1,左边是0xFFFFFFFF,      0xFFFFFFFF + 1 = 0; 无可厚非了。。。然后 你会发现, 0x80000000 跟0 正好面对面,
他的说法就是,按常理,0x80000000就可以看做是  现实中的-0,是个临界点,跟正数里面的0是对应的,
然后还有一种说法是计算机里面的数据的最高位是符号位,只因为你也发现了,负数的最高位是1,正数是0,。。。所以有一点,你要懂得,为什么是四个字节,是因为那里有32根线,32根线最大只能表示那么大的数,为什么只能表示那么大?  是因为  32位全部填1就是最大了,这你懂得。。。。。。。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-27 21:31:01 | 显示全部楼层
32位就是32个1,然后最高位是表示符号,最大数肯定就是31个1,即2^31-1,然后再加上0,正好2^31次,也就是一半,还有那个,2^32==2^31*2,你想想,2^16*2也就是16个2相乘,然后再乘以2,也就是17个2相乘,怎么可能是2^32。。。你说是吧!
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-14 08:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表