第十五题怎么做啊 求分析过程
展开全部
首先,你的a是一个无符号数,想要将一个负数赋值给a,需要将负数转换为无符号数。
你问题是使用unsigned把负数转正数吧?
用unsigned把负数转正并不改变变量的内存形态,也就是二进制编码不会改变,而逻辑数值上的变化可通过二进制的补码去计算,等价于2^变量位数减去负数绝对值(^表示冥)。
比如一个32位的负数值是-N,那么转化成unsigned的值是2^32 - N。
b = -1; 转成无符号的值为 2^32 - 1 == 4294967295;
不懂继续追问!
你问题是使用unsigned把负数转正数吧?
用unsigned把负数转正并不改变变量的内存形态,也就是二进制编码不会改变,而逻辑数值上的变化可通过二进制的补码去计算,等价于2^变量位数减去负数绝对值(^表示冥)。
比如一个32位的负数值是-N,那么转化成unsigned的值是2^32 - N。
b = -1; 转成无符号的值为 2^32 - 1 == 4294967295;
不懂继续追问!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询