早教吧作业答案频道 -->其他-->
1.假定内存中某两个字节的某几个连续bit位存储的是某个数的补码,请求出这个数的原码.用high指定高位,用low指定低位,也就是用high-low+1这么多位表示一个数的补码,其中第一位为符号位,其他位
题目详情
1.假定内存中某两个字节的某几个连续bit位存储的是某个数的补码,请求出这个数的原码.
用high指定高位,用low指定低位,也就是用high-low+1这么多位表示一个数的补码,
其中第一位为符号位,其他位为值.
用high指定高位,用low指定低位,也就是用high-low+1这么多位表示一个数的补码,
其中第一位为符号位,其他位为值.
▼优质解答
答案和解析
#include
#include
//该函数的作用:将一个整形数number的低位的两个字节中从high到low的几位数按照题目要求算出它的补码.
int binary(int high,int low,int number){
int bitcount=0; //从high到low的位数
int data=0;
int mid=0;
char p[2]={0};
for(int i=0;ilow;
}
else if (low>7) //如果低位大于7,则该数的所有位都在p[1]中
{
data=p[1]>>(low-8);
}
else
{
data=p[1]low);
}
//如果该数为负数则需按照“补码=原码的反码+1”的原则来计算出原码
if (1==(data>>(bitcount-1)))
{
data=data(17-bitcount);
data=data-1;
data=data(17-bitcount);
data=0-data;
}
return data;
}
int main()
{
int high=0;
int low=0;
int number=0;
int data;
printf("\nPlease input the Number.\n");
//输入任意一个整数用来当作内存中某个数
scanf("%d",&number);
//用十六进制格式将刚才的数输出到屏幕
printf("\nThe Number is 0x%x",number);
//要求用户输入高位和低位,中间用空格隔开高位不能大于15低位不能小于0
printf("\nplease input the high and the low number(16>high>low>=0):");
scanf("%d %d",&high,&low);
//高位必须大于低位
if(high
#include
//该函数的作用:将一个整形数number的低位的两个字节中从high到low的几位数按照题目要求算出它的补码.
int binary(int high,int low,int number){
int bitcount=0; //从high到low的位数
int data=0;
int mid=0;
char p[2]={0};
for(int i=0;ilow;
}
else if (low>7) //如果低位大于7,则该数的所有位都在p[1]中
{
data=p[1]>>(low-8);
}
else
{
data=p[1]low);
}
//如果该数为负数则需按照“补码=原码的反码+1”的原则来计算出原码
if (1==(data>>(bitcount-1)))
{
data=data(17-bitcount);
data=data-1;
data=data(17-bitcount);
data=0-data;
}
return data;
}
int main()
{
int high=0;
int low=0;
int number=0;
int data;
printf("\nPlease input the Number.\n");
//输入任意一个整数用来当作内存中某个数
scanf("%d",&number);
//用十六进制格式将刚才的数输出到屏幕
printf("\nThe Number is 0x%x",number);
//要求用户输入高位和低位,中间用空格隔开高位不能大于15低位不能小于0
printf("\nplease input the high and the low number(16>high>low>=0):");
scanf("%d %d",&high,&low);
//高位必须大于低位
if(high
看了1.假定内存中某两个字节的某几...的网友还看了以下:
一个化学问题现在我知道O2-的质子数为8中子数为8质量数为16核电核数为8求电子数的个数以及求电子数 2020-03-31 …
求正整数列前n个偶数的和;求正整数列前n个奇数的和在三位正整数的集合中有多少个数是5的倍数?求它们 2020-04-09 …
已知三个数89,12,3,进行如下运算:取其中任意两个数求其和再除以根号2,同时求其差再除以2,试 2020-04-25 …
函数与方程练习题判断函数y=x2-5x-14零点的个数,求出其零点并判断当x取何值时,y>0,x取 2020-05-12 …
求三次函数与x轴交点的个数求三次函数与x轴交点的个数.这问题是这样的.给你一个三次函数的解析式,但 2020-05-12 …
在-2008与2012之间插入第三个数,使每相邻两个数之间的距离相等,求出这三个数.求过在-200 2020-05-13 …
已知任意5个数 ,取其中4个数求其平均数加上另一个数的和为A 取5次得出A=24,27,29,32 2020-05-13 …
斐波那契数列前30项奇数的个数.求一个c语言程序 2020-05-13 …
急急急!median是什么意思Median是中间数,但是如果是9,10,10,15,19 的话哪个 2020-05-17 …
甲盒一红球三黑球,乙盒两个红球,N个黑球.从两盒认取两个球.若取出的四个球都是黑球概率为五分之一. 2020-06-03 …