设计一个函数,使给出一个数的原码,能得到该数的补码

Main(){unsigned int a; Unsigned int getbits(unsigned); Printf(“\ninput an octal number:”); Scanf(“%o”,&a); Printf(“result :%o\n”,getbits(a)); } Unsigned int getbits(unsigned value) {unsigned int z; z=value&0100000; if(z==0100000) z=~value+1; else z=value; return(z); } 求高手回答这个函数每一行的意思,要详细。

Main() //入口函数Main{unsigned int a; //定义无符号整型aUnsigned int getbits(unsigned);//加载方法签名Printf(“\ninput an octal number:”);//换行之后打印字符串"input an octal number:"Scanf(“%o”,&a);//输入需要转换的数字aPrintf(“result :%o\n”,getbits(a));//将输入的a传入到方法getbits中计算结果并打印出来}Unsigned int getbits(unsigned value)//方法getbits ,参数value{unsigned int z;//定义无符号整型zz=value&0100000;//将传入的参数value和0100000进行与操作之后的结果赋值给zif(z==0100000)//判断z是否等于0100000,等于执行下面操作z=~value+1;//传入的参数value取反加一赋值给zelsez=value;//否则将value本身赋值给zreturn(z);//返回结果z}
温馨提示:内容为网友见解,仅供参考
无其他回答

设计一个函数,使给出一个数的原码,能得到该数的补码
Main() \/\/入口函数Main{unsigned int a; \/\/定义无符号整型aUnsigned int getbits(unsigned);\/\/加载方法签名Printf(“\\ninput an octal number:”);\/\/换行之后打印字符串"input an octal number:"Scanf(“%o”,&a);\/\/输入需要转换的数字aPrintf(“result :%o\\n”,getbits(a));\/\/将输入的a...

编写一个程序,将字符串computer赋给一个字符数组,然后从第一个字母...
include <string.h> void main(int argc, char **argv){ char str[] = "computer";char *pstr;int i;pstr = str;for(i = 0; i < strlen(str); i += 2){ printf("%c", *(pstr + i));} printf("\\n");}

C语言写一函数:给出一个数的原码,得到该数的补码
0100000是八进制数。即二进制数:1000 0000 0000 0000。z=value&0100000;\/\/意义就是取value的最高位。if(z==0100000)\/\/如果最高位是1,即为负数,需要求补 z=~value+1;\/\/求补,即取反+1else z=value;

用C语言编一个程序,使给出一个数的原码,求得反码,补码。
for(; i > 0; i--)af[i] = 1 - a[i];for(i = k; i > 0; i--)\/\/补码从末位数起第一个不为0,以后均取反 ab[i] = 1 - a[i];} else{\/\/如果是正数,则全部复制 for(i = j; i > 0; i--){\/\/正数反码、补码都与原码相同 af[i] = a[i];ab[i] = a[i];}...

原码、反码、补码
机器数的补码可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的。设有一数X,则X的补码表示记作〔X〕补。例如,[X1]=+1010110[X2]= 一1001010[X1]原=01010110[X1]补=01010110即[X1]原=[X1]补=...

已知一个数的原码,如何求出其补码?
已知一个数的补码,可以通过以下步骤计算出该数的原码:1,将补码转换为原码:原码 = 补码 + 符号位 * 2^n 其中,符号位为最高位(用符号位来表示正负号),数值位从最低位开始计算。2,将得到的表达式代入补码转换为原码的公式中,符号位为最高位(用符号位来表示正负号),数值位从最低位开始...

给出一个数的原码,能得到该数的补码。
right

编写一个函数,利用参数传入一个八进制整数的原码,求出该数的补码后交...
include <stdio.h>\/\/希望对您有用,有什么问题可以联系我 void main()\/\/ { unsigned short int x;unsigned short int getbits( unsigned short );\/\/声明函数 printf("Input an octal number:");scanf("%hd",&x);\/\/short对应的是%hd printf("Rersult=%o\\n",getbits(x));\/\/%o表示输出...

4、设计一个函数,当给定一个整数后,能得到该数的补码(应考虑该整数是正...
1. 编写一个函数,判断一个数是不是素数。在主函数中输入一个整数,输出是否是素数的信息。实验步骤与要求:(1) 编写一个函数prime(n),返回给定整数n是否为素数。(2) 编写一个主函数,输入一个整数,调用(1)中的函数,判断此整数是否为素数,并输出结果。(3) 对于属于多函数程序,可以采用每个函数分别进行编辑、...

一个数的原码,反码,补码怎么算
示例,5 - 7 = -2,用补码计算如下:5  = 0000 0101 -7 的补码 = 1111 1001 --相加--- 得: (1) 1111 1110 = -2 的补码 舍弃进位,只取 8 位,结果就是正确的。这就说明了,借助于补码,就可以用加法,实现减法运算。原码和反码,都没有这种功能。所以,在计算机中...

相似回答