这个用位操作吧,应该不难
int m; //这个是要反得数
unsigned int t=1,s=0;
for(i=0;i<8;i++)
{
x=m&t; //这里取出特定的位
x>>=i; //移动到最右边
s<<=1; //左移动一位
s+=x; //把那个移动出来的加上
t<<=1; t右移动一位,
}
8位最大数是2^8-1 = 255 所以8位表达不了12345678,你题目有问题,或者我理解不了你表达的意思
最佳答案:
直接使用9999 9999减去1234 5678就可以了。
都不用再定义变量和赋值。
二进制直接取反啊