[理工] 计组 正负数

楼主: brad84622 (brad84622)   2016-08-03 12:41:17
抱歉问个蠢问题
读到16位元扩增成32那边
说是正数补0
负数补1
在二进位制
电脑要虽然是用01区分正负
那假如是
111···101
电脑要怎么知道他是一个很大的正数还是负数呢?
作者: A4P8T6X9 (残废的名侦探)   2016-08-03 12:49:00
宣告的时候就会用 int 或 uint 了~
作者: snailpon (にくきゅう)   2016-08-03 12:50:00
直接上图不解释
作者: ken52011219 (呱)   2016-08-03 13:10:00
ALU会自动全部加起来 然后溢位部份变成端回进位 得出答案 他会自行判断你所用的 assemble languages 是否带有unsigned or sign ex: addu add 假如有正负分就 以最高位元当判断基本上alu没有减法所以一定要用加法 这时就会以补数代替减法 通常都用add 除非像是address 才会用unsigned仔细思考一下 我觉得答案是 数字本身无法判断是否为有号数 因为它本来就是一串 10 只有当instruction 又或者说 人类 来去定义它是否为有号还是无号
作者: kyuudonut (善良老百姓)   2016-08-03 21:15:00
addi 是有号 addiu 是无号看你给的指令是什么 cpu不知道beq 的话就是视为有号 才能上下跳

Links booklink

Contact Us: admin [ a t ] ucptt.com