分别写出有符号和无符号1字节,2字节,4字节所能表示的整数范围
2016-03-08 10:13
281 查看
无符号(1字节) 0到255
有符号(1字节)-128到127
无符号(2字节) 0到65535
有符号(2字节) -32768到32765
无符号(4字节) 0到4294967295
有符号(4字节)-2147483648到2147483647
追问:怎么算的?
追答:一个字节8位,无符号的可以从0000 0000(0)到1111 1111(2^8-1=255)
有符号:有一位表示符号位(1表示负,0表示正)正数从0 000 0000(0)到
0 111 1111(2^7-1=127,第一位0表示正)。
负数:从1 000 0000到1 111 1111(-(2^7-1)=-127)
负数在计算机中用补码表示-0的补码为0000 0000与+0的表示一致,所以用0000 0000表示+0和-0。所以1 000 0000不表示-0而表示-128。
其它同理:
2个字节有16位,无符号从0000 0000 0000 0000(0)到1111 1111 1111 1111(2^16-1)
有符号:(-2^15到2^15-1)
有符号(1字节)-128到127
无符号(2字节) 0到65535
有符号(2字节) -32768到32765
无符号(4字节) 0到4294967295
有符号(4字节)-2147483648到2147483647
追问:怎么算的?
追答:一个字节8位,无符号的可以从0000 0000(0)到1111 1111(2^8-1=255)
有符号:有一位表示符号位(1表示负,0表示正)正数从0 000 0000(0)到
0 111 1111(2^7-1=127,第一位0表示正)。
负数:从1 000 0000到1 111 1111(-(2^7-1)=-127)
负数在计算机中用补码表示-0的补码为0000 0000与+0的表示一致,所以用0000 0000表示+0和-0。所以1 000 0000不表示-0而表示-128。
其它同理:
2个字节有16位,无符号从0000 0000 0000 0000(0)到1111 1111 1111 1111(2^16-1)
有符号:(-2^15到2^15-1)
相关文章推荐
- Matlab textread函数详解
- Thread进阶第二弹 ----- 什么是Thread ? 什么是多线程?
- C#实现从多列的DataTable里取需要的几列
- 【bzoj1834】[ZJOI2010]network 网络扩容 费用流
- Android实现再按一次退出程序
- Hashtable与hashmap 比较
- 【Android】自定义ViewPager控制其页面切换速度
- 今日BBC
- 转载---Linux vim配置及alias命令
- Java中,BigDecimal互转Integer
- R语言机器学习之caret包运用
- Linux内核升级
- Oracle数据库、实例、用户、表空间、角色基本概念和关系
- 3626: [LNOI2014]LCA LCT
- 云计算未来三年:PaaS迎来风口,条条大路通Docker
- UNIX - umask函数,创建文件模式屏蔽字
- Mysql----索引实现剖析与实践
- Android M权限请求
- hibernate delete update 失效问题
- HDU 1166 线段树