来个简单的2进制题~~!
发布网友
发布时间:2022-05-05 08:15
我来回答
共5个回答
热心网友
时间:2023-10-24 00:46
一、将-111转换成二进制数10010001
正数111的原码是01101111,各位取反,然后个位加1,变成-111的补码10010001
二、将这个二进制数从右向左3位一组,转换成八进制数221
十进制数-111转换成八进制数为:221
步骤和结果肯定是正确的。
补充回答:我这个答案肯定是正确的。只不过我这个答案是用8位二进制补码转换来的;若是用16位补码,高8位各位都用符号位1填充,变成1111111110010001结果就是177621了。
若用32位、40位、48位、56位、64位补码转换,结果又是如何呢?
我这个答案是基础答案,可向高位无限扩展嘛。
热心网友
时间:2023-10-24 00:46
17777777777777777777621
告诉你一个偷懒的方法,打开windows的计算器,
点查看,转为科学性,然后就可以转换成你需要的进制啦!另外下面是手工转换进制的方法,自己研究下吧!祝你好运咯!
http://ke.baidu.com/view/883725.htm?fr=ala0_1_1
参考资料:http://ke.baidu.com/view/883725.htm?fr=ala0_1_1
热心网友
时间:2023-10-24 00:47
除8取余数
111 除8 商13 余7
13 除8 商1 余5
1 除8 商0 余1
111 八进制 157
-111 八进制 -157
原码: 负数符号位给 1,其它位 157。
热心网友
时间:2023-10-24 00:47
可以先转换成2进制数。再2进制转换成8进制的。
热心网友
时间:2023-10-24 00:48
这是程序:
#include <stdio.h>
#define BASE 8 /*要转换成几进制数/*
#define DIGIT 100 /*转换数的位数/*
int main(void)
{
int i,input;
int x[DIGIT];
printf("Please enter(Enter q to quit)")
while(scanf("%d",&input)==1)
{
for (i=0;input!=0;input/=BASE)
x[i]%=input;
for (;i<0;i--)
printf("%d",x[i]);
}
return 0;
}
要转换成16进制只要改下BASE的值就有了。
热心网友
时间:2023-10-24 00:46
一、将-111转换成二进制数10010001
正数111的原码是01101111,各位取反,然后个位加1,变成-111的补码10010001
二、将这个二进制数从右向左3位一组,转换成八进制数221
十进制数-111转换成八进制数为:221
步骤和结果肯定是正确的。
补充回答:我这个答案肯定是正确的。只不过我这个答案是用8位二进制补码转换来的;若是用16位补码,高8位各位都用符号位1填充,变成1111111110010001结果就是177621了。
若用32位、40位、48位、56位、64位补码转换,结果又是如何呢?
我这个答案是基础答案,可向高位无限扩展嘛。
热心网友
时间:2023-10-24 00:46
17777777777777777777621
告诉你一个偷懒的方法,打开windows的计算器,
点查看,转为科学性,然后就可以转换成你需要的进制啦!另外下面是手工转换进制的方法,自己研究下吧!祝你好运咯!
http://ke.baidu.com/view/883725.htm?fr=ala0_1_1
参考资料:http://ke.baidu.com/view/883725.htm?fr=ala0_1_1
热心网友
时间:2023-10-24 00:47
除8取余数
111 除8 商13 余7
13 除8 商1 余5
1 除8 商0 余1
111 八进制 157
-111 八进制 -157
原码: 负数符号位给 1,其它位 157。
热心网友
时间:2023-10-24 00:47
可以先转换成2进制数。再2进制转换成8进制的。
热心网友
时间:2023-10-24 00:48
这是程序:
#include <stdio.h>
#define BASE 8 /*要转换成几进制数/*
#define DIGIT 100 /*转换数的位数/*
int main(void)
{
int i,input;
int x[DIGIT];
printf("Please enter(Enter q to quit)")
while(scanf("%d",&input)==1)
{
for (i=0;input!=0;input/=BASE)
x[i]%=input;
for (;i<0;i--)
printf("%d",x[i]);
}
return 0;
}
要转换成16进制只要改下BASE的值就有了。