求助,各位高人帮帮我,万分感激!

bmjsj092 2012-06-10 10:47:08
本人初学C#,做课程设计,已经无从下手了。求高人帮我,先谢谢了!
课题为:能够实现定点小数的机器数表示、定点小数的变形补码加减运算、定点小数的原码一位乘法运算和浮点数的加减运算。
定点小数的机器数表示,本人已经做好了,
定点小数的变形补码加减运算,本人就做不下去了。
这是本人设计窗体

还有下面也不知怎样下手。


哪位高人做一下给我看看。
...全文
158 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
showlie 2012-06-11
  • 打赏
  • 举报
回复

1、补码加法
  [X+Y]补 = [X]补 + [Y]补
  【例5】X=+0110011,Y=-0101001,求[X+Y]补
  [X]补=00110011 [Y]补=11010111
  [X+Y]补 = [X]补 + [Y]补 = 00110011+11010111=00001010
  注:因为计算机中运算器的位长是固定的,上述运算中产生的最高位进位将丢掉,所以结果不是
  100001010,而是00001010。
2、补码减法
  [X-Y]补 = [X]补 - [Y]补 = [X]补 + [-Y]补
  其中[-Y]补称为负补,求负补的方法是:负数的绝对值的原码所有位按位取反;然后整个数加1。(恢复本来解释。请路人真正理解并实际验证后再修改。以免误导大众。另外,例6不具典型性,新增例7。)
  【例6】1+(-1) [十进制]
  1的原码00000001 转换成补码:00000001
  -1的原码10000001 转换成补码:11111111
  1+(-1)=0
  00000001+11111111=00000000
  00000000转换成十进制为0
  0=0所以运算正确。
  【例7增】-7-(-10) [十进制]
  -7的补码:11111001
  -10的补码:11110110
  -(-10):按位取反再加1实际上就是其负值的补码,为00001010
  -7 - (-10)= -7 + 10 = 3
  11111001+00001010 = 00000011
  转换成十进制为3
3、补码乘法
  设被乘数【X】补=X0.X1X2……Xn-1,乘数【Y】补=Y0.Y1Y2……Yn-1,
  【X*Y】补=【X】补×【Y】补,即乘数(被乘数)相乘的补码等于补码的相乘。
showlie 2012-06-11
  • 打赏
  • 举报
回复
在百度百科恶补了一下:

变形补码,即用两个二进制位来表示数字的符号位,其余与补码相同。变形补码,用“00”表示正,用“11”表示负,也称为模4的补码。用变形补码进行加减运算时,当运算结果的符号位出现“01”或者“10”时,则表示产生溢出。变形补码的最高位(第一个符号位)总是表示正确的符号,比如"00"、 “01”分别表示正数、正溢出(上溢),"11"、“10”表示负数、负溢出(下溢)。
__天涯寻梦 2012-06-11
  • 打赏
  • 举报
回复
你的图上的那些运算都是什么意思? 定点小数,变形补码又是什么意思?
bmjsj092 2012-06-10
  • 打赏
  • 举报
回复
上传不了图片啊
bmjsj092 2012-06-10
  • 打赏
  • 举报
回复
__天涯寻梦 2012-06-10
  • 打赏
  • 举报
回复
图片地址不能用本地的,先上传到 csdn 的空间再链接过来吧

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧