c語言任意進制轉(zhuǎn)換 C語言2進制轉(zhuǎn)16進制?
C語言2進制轉(zhuǎn)16進制?二進制或十六進制是一種表達式形式,無需在內(nèi)存中轉(zhuǎn)動變量,即顯示不同??梢赞D(zhuǎn)換十六進制顯示:printf(“variable a=”,a)2十六進制顯示:char*int2bin
C語言2進制轉(zhuǎn)16進制?
二進制或十六進制是一種表達式形式,無需在內(nèi)存中轉(zhuǎn)動變量,即顯示不同??梢赞D(zhuǎn)換
十六進制顯示:printf(“variable a=”,a)
2十六進制顯示:
char*int2bin(const int in,char*out)
{
int i,R
char t[32],*TP
R=in
TP=t
while(R>=1)
{
*TP=R%2 48
/=2
}
]*TP-->=“0”
while(*out)=TP-->]*out=“0”
]return out
}
如果已經(jīng)有一個二進制字符串并將其轉(zhuǎn)換為數(shù)字,您可以參考上面的程序來輕松編譯它
~]//將十六進制數(shù)保存到數(shù)組中并逐個輸出
#include
使用命名空間STD
int main()
{
int n=0x3c
int a[8
]int i
]for(i=0 i!=8 I)
{
a[8-1-I]=n%2
n/=2
]}]對于(I=0 I!=8 i)
{
cout
}
cout
return 0
}]~]//將十進制轉(zhuǎn)換為二進制和十六進制的原理類似于#include<stdio。H>intmain(){inta,SZ[100]intb,C,d=0,lfor(B=0b<101b)SZ[B]=0printf(“請輸入一個十進制整數(shù):n”)scanf(%d”,&A)l=aprintf(“”“”“””“”),而(a){C=a*=a/2sz[d]=CD}Intefor(E=100e>=0e--){if(SZ[E]!=0)break}printf(“十進制數(shù)%D轉(zhuǎn)換為二進制數(shù):”,l)intifer(I=EI>=0I--)printf(%D”,SZ[I])printf(“”n“)}