将十进制正整数m转换成2进制数字输出程序
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/24 11:31:14
10101=1×2^4+0×2^3+1×2^2+0×2^1+1×2^0=16+4+1=21同理,110001=1×2^5+1×2^4+0×2^3+0×2^2+0×2^1+1×2^0=4910001=1
1:91/2=45.145/2=22.122/2=11.011/2=5.15/2=2.12/2=1.01/2=0.1所以结果为余数倒序10110112:每四位转换为一位十六进制101101001010
用windows自带的计算器就行,把计算器设成”科学性“点上“二进制”输入二进制数,再点一下“十进制”,你输入的就自动变成十进制了
(11010)2=(((((0*2+1)*2+1)*2+0)*2+1)*2+0)10=((((1*2+1)*2+0)*2+1)*2+0)10=(((3*2+0)*2+1)*2+0)10=((6*2+1
#include#includeintmain(){intn,r,i,t,b;chara[100];charc[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";//a数组用储存转后每位的
intT(intn,intm){\x05if(m>10||m\x05intx=n;\x05intk;\x05intresult=0;\x05intpowNum=1;\x05do{\x05k=x%10;
17/2=8余1,故末位1,8/2=4余0,故2位为0,4/2=2余0,2/2=1余0,1/2=0余1所以是00010001
---------------vc6.0测试通过---要更多的进制表示,你可以在switch语句中自己加-----------------------我的可以支持到16进制数的转换----------
整数部分除2取余.小数部分除2取整.89/2=44...144/2=22...022/2=11...011/2=5.15/2=2...12/2=1..089==1011001B0.625*2=1.25
十进制数转成二进制的方法:除2求余,反向写出.如20
cd码也叫8421码就是将十进制的数以8421的形式展开成二进制,大家知道十进制是0~9十个数组成,着十个数每个数都有自己的8421码:0=00001=00012=00103=00114=01005=
#includeusingnamespacestd;voidf(intn){if(n/2!=0)f(n/2);cout
C答案是1X2^3+1X2^2+0X2^1+0X2^0
for(i=0;m;i++)aa[i]=m%k;如果m=3k=4当i=0时这时aa[0]=3;m=3/4=0;结束,但是最后还有i++;i=1;所以最后的i++执行是多余的,所以要减1输出aa[i-1
#include#includevoidfun(intm,intk){intaa[20],i;for(i=1;m;i++){aa[i]=m%k;m/=k;}for(--i;i;i--)printf("
也不知道你要C还是C++,就用通用C代码写的:#includevoidmain(){intm,n,a[100],len=0;printf("输入整数n:\n");scanf("%d",&n);prin
先转换整数部分,这个你应该会吧:11100小数部分乘以2就行了0.25*2=0.5,不足1,所以小数部分第一位是00.5*2=1,所以小数部分第二位是1剩下0,所以运算结束.最后答案是11100.01
i是局部变量,程序不会对它初始化,所以你不能假定i初始值为0,应该在程序开头加上i=0语句.再问:额,改了后,不崩溃了,但是出现乱码了,逻辑有错,求帮助啊再答:for(j=i;j>=0;j--)pri
2481