假设机器字长为2个字节,求-98的原码、反码、补码?
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/28 07:25:05
假设机器字长为2个字节,求-98的原码、反码、补码?
假设机器字长为2个字节,求-98的原码、反码、补码?
假设机器字长为2个字节,求-98的原码、反码、补码?
#include
#include
#include
#include
void convert(int num);
void oppose(int n);
int a[16];
void main(void)
{
int num,jdz;
char ans;
while(1)
{
printf("请输入任意一个十进制整数: ");
scanf("%d",&num);
printf("\n");
printf("其绝对值为: ");
jdz=abs(num);
printf("%d\n\n",jdz);
printf("其原码为: \n");
convert(jdz);
printf("\n\n");
if(num>=0)
{
printf("其补码为: \n");
convert(jdz);
printf("\n\n");
}
else
{
printf("其补码为: \n");
oppose(a[16]);
printf("\n\n");
}
printf("按回车键继续或按ESC键结束程序!\n");
ans=getch();
while(ans!=13 && ans!=27)
{
ans=getch();
}
if(ans==13) system("cls");
if(ans==27)
{
system("cls");
printf("谢谢使用!\n");
break;
}
}
}
void convert(int num) /*定义转化为原码的函数*/
{
int i;
a[0]=num%2;
for(i=1;i=0;i--)
printf("%2d",a[i]);
}
void oppose(int n) /*定义转化为补码的函数*/
{
int i;
for(i=0;i=0;i--)
printf("%2d",a[i]);
}