关于越界问题
2016-04-08 14:06
190 查看
在Java中
Example:
(1)
byte b=(byte)(-129);
System.out.println(b);
输出的的结果是127;
(2)
byte b=(byte)(129);
System.out.println(b);
输出的的结果是-127;
Explanation:
byte只能存储8位
在转换的过程中
负数要先取变补 也就是 (1000001)原=(01111110)补+1=01111111=127
正数直接取补码 也就是 (1000001)原=(11111111)补=-127;
在Java中规定最高位为符号位 !
Example:
(1)
byte b=(byte)(-129);
System.out.println(b);
输出的的结果是127;
(2)
byte b=(byte)(129);
System.out.println(b);
输出的的结果是-127;
Explanation:
byte只能存储8位
在转换的过程中
负数要先取变补 也就是 (1000001)原=(01111110)补+1=01111111=127
正数直接取补码 也就是 (1000001)原=(11111111)补=-127;
在Java中规定最高位为符号位 !
相关文章推荐
- 功能强大的HTML
- 构建并发模型框架
- 关于构造方法
- 设置Eclipse中的tab键为4个空格的完整方法
- 使用cpanm安装perl模块
- 程序员如何保持优秀
- Win7之后KdPrint输出的注册表设置
- Android 实现4MB以上大图片压缩不失真方法
- xcode 路径
- jq ajax
- 面向对象重写(override)与重载(overload)区别
- Attrib命令,可以让文件夹彻底的隐藏起来
- Qt使用VS编译时“转到COFF期间失败”解决方法
- js第一节-js的属性操作
- case when then else end 用法--很好
- 如何将数据库账号(用户)解锁
- 比赛安排
- Faster Alternatives to glReadPixels and glTexImage2D in OpenGL ES
- NSUserDefaults使用规范
- Python新手常见问题