作者LPH66 (-858993460)
看板Programming
标题Re: 请问一个位元运算问题
时间Fri Dec 3 17:15:46 2010
※ 引述《[email protected] (兄弟般的bf)》之铭言:
: ※ 引述《[email protected] (-858993460)》之铭言:
: > overflow flag 则是有号数相加溢出时设为 1
: > 也就是侦测 80+70=150 >= 128 或 (-80)+(-70)=-150 < -128 这种情形
: > 这两个例子是:
: > 01010000 => 80 10110000 => -80
: > + 01000110 => 70 + 10111010 => -70
: > ---------- ----------
: > 10010110 => -106 01101010 => 106
: 感觉和carry很像,只是差在有无号数 @@
: 第二个例子看懂(最高位1+1,进到第九位)
: 第一个例子,用十进位算,确实overflow(>127,2^7-1)
: 但用二进位算,最高位是0+0,最後是1
: 没有进到第九位,这样也算overflow吗?
对 这就是有无号数的差别
也就是对有号数来说不能单纯看有没有进到第九位来判断
而得要用 ↓ 这个条件来判断而已
: > 由於这种情形发生时 最高位会发生符号改变
: 还是overflow要看这句话?
: 最高位改变(以第一个例子看,都是0,变成1;以第二个例子看,都是1,变成0)
: > 因此 overflow flag 就会在这个时候设为 1
: > 这样应该有回答到你的问题...
: 抱歉吼,小弟驽钝,对资工来说,这应该很简单...
--
実琴:「
河野!你真的就这样被
物质慾望给吸引过去了吗?!」
亨:「只要
穿着女装摆出亲切的样子,所有必要花费就能
全免,似乎一点都不坏啊。」
実琴:「难道你没有
男人的尊严了吗?!」
亨:(断然道)「
没有。在
节衣缩食且
生活吃紧的
学生面前,
没有那种东西。」
--プリンセス・プリンセス 第二话
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.84