无符号整形能为负数吗?如果计算结果是负,他最终结果是什么?

问题描述:

无符号整形能为负数吗?如果计算结果是负,他最终结果是什么?
如:
无符号a = 无符号b - 无符号c
b 是 1 c 是2 那么计算结果是-1
那么 无符号a = —1
无符号a = 有符号b - 有符号c
这样呢
1个回答 分类:数学 2014-09-20

问题解答:

我来补答
无符号a = 无符号b - 无符号c
无符号和 无符号运算的时候,结果也是无符号的,你说的例子1 - 2 = -1,
在int32环境下,二进制表示结果为 32个1 ,这里的-1是转换成有符号来看的,无符号的值是4294967295,也就是说,1 - 2 = 4294967295
无符号a = 有符号b - 有符号c
这里的右边有符号计算成有符号,b = 1,c = 2,的话 1 - 2 = -1,
然后将-1的补码表示转换成无符号,-1的补码上面说过了,就是32个1,就是4294967295
 
 
展开全文阅读
剩余:2000
上一页:bfds
下一页:知道的请解答