如题
CString tt = "F785";
CString gg;
如何将tt中的16进制数转换成2进制并且写入到gg中呢?
支持任何进制的数转化为任何进制的数(2~36) 需建立一个基于对话框的应用程序,在对话框上设四个编辑框和一个按钮,再将下列代码输入,并建立相应的编辑框变量。 void CXDlg::OnButtonX() { // TOD Add your control notification handler code here UpdateData(TRUE); m_strXed=XtoX(m_strX,m_from,m_to); UpdateData(FALSE); }
int CXDlg::charToint(char ch) { CString str; int value; str="0123456789ABCDEFGHIJKLMNOPQRST"; value=str.Find(ch); return value; }
char CXDlg::intTochar(int i) { CString str; char ch; str="0123456789ABCDEFGHIJKLMNOPQRST"; ch=str.GetAt(i); return ch; }
CString CXDlg::XtoX(CString & strX, int intFrom, int intTo) { CString strValue=_T(""); long lDec; int len;
for(len=0,lDec=0;len<strX.GetLength()-1;len++) { lDec+=charToint(strX.GetAt(len)); lDec*=intFrom; }
lDec+=charToint(strX.GetAt(len));
int mod; long div; div=lDec; CString str=_T("");
for(;div!=0;) { mod=div%intTo; str+=intTochar(mod); div=(div-mod)/intTo; }
for(len=str.GetLength()-1;len>=0;len--) { strValue+=str.GetAt(len); }
return strValue;
}