楼主:
look1214 (Swatch)
2019-11-05 18:44:24刚刚突然想到
假设今天用4个bits的二补数表示来做7+7
0111+0111=1110
出来的值为-2
这要怎么解决?
谢谢
这不是正常的行为吗?怎么解析那个4bit的数是写程式的人的工作
作者:
tw4563335 (tw4563335)
2019-11-05 19:54:00你可以改用8个bits做啊
作者:
chuegou (chuegou)
2019-11-05 20:32:00你的ALU没有溢位或进位旗标吗
你的意思是你要写大数运算,在问 C 该如何做进位吗?因为在组合语言的层面会有旗标告诉你该进位了
4bit二补数能表达的范围就是+7~-8呀比起要怎么解决 有什么原因要加两个极限数值才是问题吧
作者:
MartinJ40 (Martin J-40)
2019-11-06 14:06:00换一台电脑就好了
那如果 int128 也溢位还能换什么电脑? XD
作者:
ofd168 (大色狼来袭)
2019-11-11 09:00:00如果是硬件,实务上是,两个4个bits相加会变成5个bits,然后透过saturate砍回4个bits,这样可以保证不会overflow