Grad-ProbAsk 板


LINE

(代po) 最近在复习二进位减法的时候有一个地方卡了两三天 感觉这问题很简单但是我脑袋一时转不过来.. 问题就是:要如何判断二进位用二补数算完後的结果到底是正数还是负数? 我记得之前上计概的时候,学校老师说(还抄在我的笔记上..): (1)最高位元无进位表示结果为负, 若要转为十进则要用将值以取反2补数还原为负数 而若最高位元有进位时表示结果为正,该进位直接舍弃 例如:算十进位的11-21 => 11 + (-21) =>要把21取2补数再和11相加 11的二进位为:0000 1011 21的二补数为:1110 1011 则: 0000 1011 +) 1110 1011 -----------------------  1111 0110 =>没有进位,表示结果为负,1111 0110再取一次二补数 =>1111 0110取二补数 = 0000 1001 也就是10,所以答案=-10 没问题 符合老师上课说的 但是我看到一个反例 如果是 -15-25=>(-15) + (-25) => -15和-25都取二补数并且相加 -15的二补数为:1111 0001 -25的二补数为:1110 0111 则: 1111 0001 +) 1110 0111 ----------------------- 1 1101 1000  | 这个1进位了! 有一个进位的1,如果照老师说的规则,那这个结果应该是正的 但是结果却是-40,是负的 也就是要把算完的结果(1 1101 1000)整串再取一次二补数然後再加负号 才会变成-40 所以我就有点被搞混了.. 在电脑中,如果要"以运算後的结果"来看是正数还是负数,到底该怎麽看呢? (也就是假设我们一开始不知道这两个数运算完後到底是正还是负,单纯以结果来看) 再麻烦各位替我解答一下了 这里我卡了好多天 一直想也想不通 谢谢 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.43.134.169 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1590838733.A.220.html ※ 编辑: g1990822 (114.43.134.169 台湾), 05/30/2020 19:49:18
1F:推 cossetannie: 看最高位有没有进位只是考虑有没有发生overflow 05/31 00:29
2F:→ cossetannie: overflow那结果当然不会对 05/31 00:30
3F:推 cossetannie: 上面好像讲错了 忽略掉吧 如果你只是单纯要看正负数 05/31 00:40
4F:→ cossetannie: 直接看sign bit就可以了吧 应该跟进不进位没什麽关 05/31 00:40
5F:→ cossetannie: 系 05/31 00:40
6F:→ chengaryguan: 若正加正变负,或附加负变正,才考虑overflow,但以 05/31 00:45
7F:→ chengaryguan: 你的举例,负加负仍为负,因此直接不用管overflow的 05/31 00:46
8F:→ chengaryguan: 那个bit,後面的11011000就是-40在2补数的值了。 05/31 00:46
所以这两位大大的意思是 做完补数运算後=>"利用进位"先看有没有overflow =>没有overflow的话直接看原本的答案来判断就好吗? 像是我举的第一题: 11+ (-21) = 1111 0110 =>"没进位"也没有overflow =>答案就是1111 0110 =>把1111 0110做二补数加负号=>-10(十进位) 第二题: -15 + -25 = 1 1101 1000 | 进位的1 =>最左边有一个进位的1 =>"有进位"但是没有overflow =>答案就是 1101 1000(不管进位的1了) =>把1101 1000做二补数加负号=>-40(十进位) 简单来说就是,做完运算之後,"不管有没有进位","只要没有overflow", 那答案就是直接这样算就好了吗? 谢谢 ※ 编辑: g1990822 (61.230.5.114 台湾), 05/31/2020 03:11:07
9F:→ chengaryguan: 是的,电脑判断正负就靠最左边的bit为0或1,因跐当o 05/31 09:45
10F:→ chengaryguan: verflow等那个bit运算完与结果的最左边的bit相同(s 05/31 09:45
11F:→ chengaryguan: ign bit),表示没有发生overflow,结果就是正确的, 05/31 09:45
12F:→ chengaryguan: 以你的例子就是後面那个8个bits直接当结果。 05/31 09:45
13F:推 cossetannie: 进位应该是用来判断unsiged运算的结果正确与否 05/31 10:17
14F:→ wildwolf: 没有人发现 8-bit 表示正负数的时候,没有表示 -40 的方 06/01 08:29
15F:→ wildwolf: 法吗?一开始就要多一bit signed extension 计算 06/01 08:30
16F:→ cossetannie: 11011000不是-40吗 06/01 11:09







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP