进制转换代码
首先要明白十进制转换成其他进制的方法:
十进制数x不停对y进制进行除法操作,最后再倒取余数。
比方说十进制数35转换为二进制:
结果就是100011.
然后我们看change函数,实际上是递归的方法。
c是x对r求余,再打印c之前,把x/r的值再对r求余......直到x/r=0为止。
比方说还是上面这个例子。
c0=x%r=35%2=1
c1=x/r%r=17%2=1
c2=x/r/r%r=8%2=0
.......
c5=x/r/r/r/r/r%r=1%2=1
到这里之后x的值已经是1了,然后因为1/2=0了,所以不再进行下去了。
然后打印方式是越后面出现的先打印。
还有不懂的请追问哦。
⑵ 十进制转换为二进制c语言代码,怎么做
有这个必要吗?
char s[100]="13225";//10进制字符串版权
char s[100]="\x1\x3\x2\x2\x5";//BCD表示的10进制字符串
char s[100]={1,3,2,2,5};//BCD表示的10进制字符数组
char b[100];//2进制字符串
char d[100];//10进制字符串
int n=atoi(s); //n是2进制整数,计算机内所有数据,都是2进制的!
printf("%d",n);//2进制整数直接以10进制输出
printf("%s",itoa(n,b,2));//2进制整数转换为2进制字符串输出
printf("%s",itoa(n,d,10));//2进制整数转换为10进制字符串输出
char *a=s;
//10进制字符串转换为BCD表示的10进制字数组
while(*a)
{ *a -='0';
a ++;
}
a=s;
//BCD表示的10进制字数组转换为10进制字符串
for(i=0,a=s;i<n;i++)
{
a[i]+='0';
}
a[i]='\0';
⑶ 电脑代码进制转换!!!急!!
十进制要转换成二进制时,把它除于二,所得的余数,然后从下往上读取。
277/2=138 余数专属1
138/2=69 余数0
69/2=34 余数1
34/2=17 余数0
17/2=8 余数1
8/2=4 余数0
4/2=2 余数0
2/2=1 余数0
1/2=0 余数1
所以:277(D)=100010101(B)
25.625(D) = 11001.101(B)
110010.1101(B) = 50.8125(D)
⑷ 十进制转换为二进制的c++代码
#include <iostream>//将十进制转为二进制,并输出其中1的个数。
using namespace std;
int main()
{
int t,n,a[100];
int i,k,j;
cin>>t;
while(t--)//控制多组输入
{
i=j=0;
cin>>n;
while(n!=0)//该循环将十进制转为二进制并存入数组a
{
a[i++]=n%2;
n/=2;
}
for(k=i-1;k>=0;k--)//倒序输出二进制
{
if(k==i-1)cout<<a[k];
else cout<<" "<<a[k];
if(a[k]==1)j++;
}
cout<<endl;
cout<<j<<endl;//输出1的个数
}
return 0;
}
(4)进制转换代码扩展阅读
void ten_to_two( int n )
{ int i , j ; int a[1000] ; memset( a , 0 , sizeof(a) ); // 一定要记得每次运算前将a数组清零
i = n ;
j = 1 ; while(i){
a[j] = i & 1 ; //取最后一位
i >>= 1 ; //除以2
++ j ;
} for( i = 7 ; i >= 0 ; -- i ) // 将结果呈八位数输出 倒序!
//(如果想输出本来位数的话就把 7 改成 j - 1 就ok啦)
cout << a[i] ; cout << endl ;
}
⑸ 如何把10进制转换成16进制代码
十进制转化为十六进制整数部分是除以十六取余数,前面的余数是低位,后面的是高版位。例如十进制(1500000)权1500000/16=93750 余093750/16 =5859 余65859/16 =366 余3366/16 =22 余1422/16 =1 余61/16 =0 余1所以十进制(1500000)=十六进制(16D360)小数是乘以十六去整,先整为高,后整为低。即用十进制小数乘以十六,得到一个乘积,将整数部分取出,再用小数部分乘以十六,一直重复知道小数部分为零或者满足转换精度为止。这里就不举例了。
⑹ 十六进制转换器C语言代码
/*输入一个10进制的数以16进制的输出*/
#include<stdio.h>
main()
{
int
x;
printf("请输入一个10进制的数");
scanf("%d",&x);
printf("它的16进制数为%x",x);
}
做个提醒吧专
你可以自己再研究一下,就属按照这思路
⑺ C语言中十进制转化为十六进制的代码
# include<stdio.h>
int main(void)
{
int a ;
scanf("%d", &a);
/*输入十进制数17*/
printf("%x\n",a);
/*以十六进制输出*/
return 0;
}
⑻ 求java进制转换代码
下面是转换的方法
int n1 = 14;
//十进制转成十六进制:
Integer.toHexString(n1);
//十进制转成八进制
Integer.toOctalString(n1);
//十进制转成二进制
Integer.toBinaryString(12);
//十六进制转成十进制
Integer.valueOf("FFFF",16).toString();
//十六进制转成二进制
Integer.toBinaryString(Integer.valueOf("FFFF",16));
//十六进制转成八进制
Integer.toOctalString(Integer.valueOf("FFFF",16));
//八进制转成十进制
Integer.valueOf("576",8).toString();
//八进制转成二进制
Integer.toBinaryString(Integer.valueOf("23",8));
//八进制转成十六进制
Integer.toHexString(Integer.valueOf("23",8));
//二进制转十进制
Integer.valueOf("0101",2).toString();
//二进制转八进制
Integer.toOctalString(Integer.parseInt("0101", 2));
//二进制转十六进制
Integer.toHexString(Integer.parseInt("0101", 2));