关于计算机如何区分有符号数与无符号数

计算机不能区分两者

无符号数 没有原码,反码,补码等,他的范围是 ≥0 的
有符号数 有原码,反码,补码等,他的范围是随意的

计算机通常用补码来表示有符号数
计算机的一个数据可以看作是有符号数,也可以看作无符号数的
也就是说计算机并不知道你存的是有符号数还是无符号数,而且所做的运算并不需要管你存的是什么数


王爽《汇编》是这样写的,下面是负数的时候为反码

			00000001B,可以看作无符号数为1,有符号数为+1
			10000001B,可以看作无符号数129,有符号数-127

这两个数进行Add的时候

			看作无符号数  1+129=130 (10000010B)
			看作有符号数 +1-127=-126(10000010B)

结果一致,不管我们如何看待,都已经包含两种含义


你可能感兴趣的:(#,计算机组成)