求高手,一个字节八位12345678怎么样用C语言用最少最精炼的语句变为87654321

2024年11月17日 12:19
有4个网友回答
网友(1):

这个用位操作吧,应该不难
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右移动一位,

}

网友(2):

8位最大数是2^8-1 = 255 所以8位表达不了12345678,你题目有问题,或者我理解不了你表达的意思

网友(3):

最佳答案:
直接使用9999 9999减去1234 5678就可以了。
都不用再定义变量和赋值。

网友(4):

二进制直接取反啊