# include & ltstdio.h & gt
const int maxn = 128;
const int index8 = 8
const int index 16 = 16;
int main()
{ int array 8[maxn];
int array 16[maxn];
int n,cot 8 = 0;
scanf("%d ",& ampn);
int m = n,cot 16 = 0;
while(n){ array 8[cot 8++]= n % index 8;
n/= index 8;}
while(m){ array 16[cot 16++]= m % index 16;
m/= index 16;}
int I;
for(I = cot 8-1;我& gt= 0;我-)
printf("%d ",array 8[I]);
puts(" ");
for(I = cot 16-1;我& gt= 0;我-)
擴展數據:
十進制轉換為十六進制的具體方法:
整數部分用被除數反復除以16。除了第壹次,每次除以16取前壹次商的整數部分作為被除數,依次寫下每次的余數。此外,所得商的最後余數是二進制數的最高位。
對於小數部分,整數部分連續乘以基數16,依次取出,直到結果的小數部分為0。所以這種方法叫“按基數四舍五入”。
10十進制數轉換成十六進制數,是壹個被16連續除的過程:把要轉換的數除以16得到商和余數,繼續用16除商,直到商為0。最後將所有余數逆序排列,得到的數就是轉換結果。
參考資料:
百度百科-十六進制到十進制的轉換