早教吧作业答案频道 -->其他-->
求补码怎么求的...#include#includevoidmain(){unsignedshortinta;unsignedshortintgetbits(unsignedshort);printf("\ninputanoctalnumber:");scanf("%o",&a);printf("%o\n",getbits(a));}unsignedshortintgetbits(unsignedshortvalue){u
题目详情
求补码怎么求的...
#include
#include
void main ()
{
unsigned short int a;
unsigned short int getbits(unsigned short);
printf ("\ninput an octal number:");
scanf ("%o",&a);
printf ("%o\n",getbits(a));
}
unsigned short int getbits (unsigned short value)
{
unsigned int short z;
z=value&0100000;
if(z==0100000)
z=~value+1;
else
z=value;
return z;
}
输入152525怎么会输出25253呢?书上的例子,
#include
#include
void main ()
{
unsigned short int a;
unsigned short int getbits(unsigned short);
printf ("\ninput an octal number:");
scanf ("%o",&a);
printf ("%o\n",getbits(a));
}
unsigned short int getbits (unsigned short value)
{
unsigned int short z;
z=value&0100000;
if(z==0100000)
z=~value+1;
else
z=value;
return z;
}
输入152525怎么会输出25253呢?书上的例子,
▼优质解答
答案和解析
程序让你输入的是8进制数字,所以152525是八进制的
化成二进制为1101 0101 0101 0101
判断第一位是1
z等于 取反+1 = 10 1010 1010 1010 +1 在打印成8进制就是25253了
化成二进制为1101 0101 0101 0101
判断第一位是1
z等于 取反+1 = 10 1010 1010 1010 +1 在打印成8进制就是25253了
看了 求补码怎么求的...#inc...的网友还看了以下:
有几道C语言的题目,不懂!求各位大侠不吝赐教!原题如下!1、若i和k都是int类型变量,有以下fo 2020-05-13 …
下面的程序段违反了算法的(54)原则。void sam(){int n=2;while(!odd(n 2020-05-26 …
阅读下列程序段,则程序的输出结果是main(){inta=10,b=10,k;for(k=0;a> 2020-07-14 …
#includemain(){char*p[]={"BOOL","OPK","H","SP"};i 2020-07-23 …
C语言填空:求1+2+3+…+n至和值首次大于10000之间的值#include<stdio.h> 2020-07-23 …
for循环执行顺序c代码main(){for(i=0;i<6;i++&&k++)printf("%2 2020-10-30 …
for循环执行顺序c代码main(){for(i=0;i<6;i++&&k++)printf("%2 2020-11-01 …
下列语句不能起到换行作用的是()A.printf("\n")B.scanf("\n")C.putch 2020-11-10 …
C语言执行下列程序片段时输出结果是()执行下列程序片段时输出结果是()floatx=-1023.01 2020-12-15 …
若有定义floatw;inta,b;,则合法的switch语句是()。(1分)A、switch(w) 2021-01-13 …