数据溢出
来源:互联网 发布:c 高级编程pdf 编辑:程序博客网 时间:2024/05/09 03:15
计算机中的数据都是以补码的形式存储在硬件上的,并以补码的形式参与运算。
有符号数中的正数的补码就是其原码;负数的补码是对其原码逐位取反,但符号位除外;然后整个数加1。
根据补码求原码的方法为:
(1)如果补码的符号位为“0”,表示是一个正数,其原码就是补码。
(2)如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。
分析一下的代码输出:
public class NumTest {
public static void main(String[] args) {
byte a=72;
byte b=64;
byte c;
c=(byte)(a+b);
System.out.println(c);
}
}
因为72的存储方式(补码)为:01001000
64的存储方式(补码)为: 01000000
它们在底层是以补码的形式通过加法器相加的,结果为10001000
10001000的原码为11111000,所以结果应为120.
输出为120,分析正确。
- 数据溢出
- 数据溢出
- 数据转换发生溢出
- 数据溢出的疑问
- 整型数据的溢出
- 整型数据的溢出
- MATLAB数据溢出
- java之数据溢出
- 强制转换数据溢出
- 数据表示及溢出
- 整型数据的溢出
- 字符数据的溢出
- 如何理解数据溢出
- 数据溢出和数据精度
- 隐蔽的数据溢出问题
- php 数据过大 内存溢出
- 【Opencv】saturate_cast防止数据溢出
- 关于数据溢出的计算
- javascript 递归
- 类中的成员以及块
- 快速逻辑运算符
- 数据的底层存储
- 关于Java中的流
- 数据溢出
- 简单的双向通信聊天程序
- 关于jdk中的各种指令
- KWIC系统之事件架构实现(主程序)
- KWIC系统之事件架构实现(排序模块,拆分模块,输入模块)
- KWIC系统之事件架构实现(行存储类,行存储包装类,行存储改变事件)
- KWIC系统之事件架构实现(输出模块,单词统计类,单词存储类)
- Android线程通信
- SurfaceView绘制触摸轨迹时的闪烁问题