溢出的概念和判断方法
来源:互联网 发布:java 163邮箱发送邮件 编辑:程序博客网 时间:2024/06/03 16:37
当进行加(减)法计算的时候,进(借)位是常见的现象。当出现了补码后,溢出,也是常见的了。
对于有符号数的加减计算,都是用补码进行的,而补码,是用较大的数字代表负数的。
比如:8位二进制数,写成十进制数,就是:0~255。
其中的 0~127,代表零和正数,而128~255,就分别代表了-128~-1。
这样,正数加上正数,产生的和数,如果大于了127,却成为了负数 !
这就是溢出。
溢出,就是计算结果,超出了有符号数的表示范围。
溢出的判断方法有三种:
1.由计算结果来判断
当出现:“正+正=负、负+负=正、正-负=负、负-正=正”的时候,都是产生了溢出。
2.由计算过程中的进位来判断
当出现:最高位的进位(即符号位的进位)和“次高位”的进位 不相同 的时候,就是产生了溢出。
3.由计算后的标志位来判断
当出现:OV = 1 时,就是产生了溢出。
针对任何一次加、减运算,都可用这三种方法来判断,结论肯定都是相同的。不信,可以自己试试看。
==========================================================
回答者: 做而论道 | 2011-10-21 14:29
原题网址:http://zhidao.baidu.com/question/331946714.html
提问者对回答的评价:谢谢您的指教
==========================================================
0 0
- 溢出的概念和判断方法
- 溢出判断<求最值的方法>
- 内存泄漏和内存溢出的概念
- 判断浮点数溢出的方法
- 判断浮点数溢出的方法
- 数据类型溢出的判断和控制
- 补码运算溢出判断方法
- 溢出的判断之一
- 汇编 溢出的判断
- 溢出的判断之一 .
- 判断两个整数相加是否溢出的方法
- 判断两个整数相加是否溢出的方法
- 计算机判断溢出的原理?
- 无符号数相加溢出判断方法
- 递归引发的jvm栈溢出的理解--堆和栈的概念整理
- 递归引发的jvm栈溢出的理解--堆和栈的概念整理
- c语言中整数溢出的概念
- 内存越界的概念和调试方法
- PC 机中的 CMOS
- 80x86汇编编程:实现十进制或十六进制向二进制的转换
- 80x86汇编编程:在输入的字符串中查找关键字
- 80x86汇编编程:键入两个8进制数字,相加后以16进制输出
- C语言编程:扑克牌魔术
- 溢出的概念和判断方法
- 用 LCD1602 显示的时钟
- C语言编程:统计输入的各字符的个数
- 8086汇编语言编程--大小写转换、统计个数、显示时还要求发音
- 单片机流水灯闪烁问题
- “在场人数”的统计
- 3DSOURCE云平台客户端下载 v5.1.48官方版
- DS18B20 与数字温度计
- 输入十进制数,显示其二进制形式中 1 的个数