定点数的计算——符号扩展、溢出判断
⼀、符号扩展
定点数表⽰的数转换成具有不同位数的某种表⽰形式。整数的符号扩展在⾸,⼩数的符号扩展在尾。其根本⽬的是:表⽰的数值保持不变。
对于正数,新表⽰形式的所有附加位都⽤0进⾏填充
对于负数
1. 符号位保持不变,原码的所有附加位都⽤0进⾏填充
2. 符号位保持不变,反码的所有附加位都⽤1进⾏填充
3. 符号位保持不变,补码的所有附加位都⽤1(对于整数)或0(对于⼩数)进⾏填充
⼆、溢出判断
⽅法⼀:采⽤⼀位符号法
当参加操作的两个数符号相同,结果⼜与原操作数符号不同,则表⽰结果溢出。
⽅法⼆:采⽤双符号位
最⾼位符号位表⽰真正的符号,次⾼位符号位表⽰操作数的进位
1. S1S2=00,表⽰结果为正数,⽆溢出
两个负数的补码相加2. S1S2=01,表⽰结果正溢出(当两个正数相加)
3. S1S2=10,表⽰结果负溢出(当两个负数相加)
4. S1S2=11,表⽰结果为负数,⽆溢出
⽅法三:采⽤⼀位符号位根据数据位的进位情况判断溢出
若符号位的进位 Cs 与最⾼数位的进位 C1 相同,则说明没有溢出(相当于00,11),否则发⽣溢出(相当于01,10)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论