程序要多去调试啊,这个很简单的啊
给你个代码参考吧
int main()
{
int a = -34; //-34是开始的值,你可以设个值
unsigned int b = (unsigned int)0-(unsigned int)a;
return 0;
}
整理成一般表达式为:
int a = originalNumber;//原始值
unsigned int b = (unsigned int)0-(unsigned int)a;//转换后的绝对值
举个例子:
unsigned b;
int a=-5;//假如-5是初始值
b=a;
b=65536-b;
printf("%u",b);
其中int型是16位的,具体情况根据计算机系统位数来算。
比如我的计算机int型是64位,最后一句就是:b=2^64-b,而不是b=2^16-b 。如果不知道计算机系统位数.可以这么写:
unsigned b;
int a=-5;
a=0-a;
b=a;
printf("%u",b);
可以先求绝对值,再强制类型转换
二楼就对