進制轉換代碼
首先要明白十進制轉換成其他進制的方法:
十進制數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));