c语言题 第21题求详细解释 我知道%x是变成16进制数 但不知道怎么从-1变成ffff了
2个回答
展开全部
这是补码。
就是说,如果数字(无符号)最大只能是a,也可以是0,那么-b可以表示为a-b+1,同时正负数的绝对值都要小于a/2。
例子:数字最大为65535,那么-1就是65535-1+1=65535。
事实上用C求补码就是这样的
int complement(int i)
{
int a!=i;
++a;
return(a);
}
有了补码,无符号数的运算就容易解决了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询