鱼C论坛

 找回密码
 立即注册
查看: 3344|回复: 6

求亲们,关于数据类型的问题

[复制链接]
发表于 2017-5-18 22:46:39 | 显示全部楼层 |阅读模式

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

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

x
整型常量无符号的短整型和符号短整型的取值范围是如何算出来的?为什么无符号是0~65535,符号短整型是-32768~32767?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-5-18 23:51:17 | 显示全部楼层
本帖最后由 人造人 于 2017-5-18 23:52 编辑

sizeof(short int) == 2

短整型在我的环境中占2个字节

如果无符号,那就用16位全部表示正数(1个字节8位,2个字节16位)

2的16次方等于65536(是从1数到65536,一共有65536个数,如果从0数,应该是0~65536-1)
2的16次方减1等于65535
无符号 0~65535


如果有符号,那就用一半来表示负数,另一半表示正数,8位表示负数,8位示正数

2的16次方等于65536
除以2等于 32768
从1数到32768
从-1数到-32768
还有一个0,在正数中减一个
从0数到32768-1(也就是0~32767)

所以有符号  -32768~32767
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-18 23:56:53 | 显示全部楼层
无符号短整型变量说明它是非负数,所以最高位不是符号,而是数据;因为短整型是2字节,16位的,所以表示的范围就是 0~0xFFFF 即 0~(2^16-1),也就是0~65535.
而短整型变量说明它是有符号位的,即最高位是符号为0是正数,为1是负数;所以范围是:-2^15~2^15-1也就是-32768~32767
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-19 20:59:37 | 显示全部楼层
人造人 发表于 2017-5-18 23:51
sizeof(short int) == 2

短整型在我的环境中占2个字节

谢谢,亲
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-19 21:03:42 | 显示全部楼层
当回首遇上转身 发表于 2017-5-18 23:56
无符号短整型变量说明它是非负数,所以最高位不是符号,而是数据;因为短整型是2字节,16位的,所以表示的 ...

谢谢,亲
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-24 23:05:39 | 显示全部楼层
建议你去看一下小甲鱼的视频,讲解的你会懂得
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-26 14:08:44 | 显示全部楼层
基础的还是要多看多学啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-28 06:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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