MFC_C语言函数进制转换例子

void C例子MAP和LISTDlg::OnBnClickedButton2()
{
    //字符串,2进制到8进制,10进制,16进制
    //先转到10进制,在通过10进制转到8进制
    
    //2进制到8进制
    //TCHAR buff[1024]={0};
    //TCHAR* str =_T("1011010");//如果在unicode工程下面,不加_T的话,那么他就默认表示ansi编码,所以我们得去转换一下
    //int a = _tcstol(str,NULL,2);//这个时候这个a就保存的2进制转换的10进制整数了,_tcstol  和 atoi 有啥区别呢?atoi  只可以冲10进制的字符串转到10进制的数字
    //_itot(a,buff,8);
    ////我们来看看转换成功没?
    ////AfxMessageBox(buff);


    ////2进制到10进制
    //TCHAR buff[1024]={0};
    //TCHAR* str =_T("1011010");//如果在unicode工程下面,不加_T的话,那么他就默认表示ansi编码,所以我们得去转换一下
    //int a = _tcstol(str,NULL,2);//这个时候这个a就保存的2进制转换的10进制整数了,_tcstol  和 atoi 有啥区别呢?atoi  只可以冲10进制的字符串转到10进制的数字
    //_itot(a,buff,10);
    ////我们来看看转换成功没?
    ////AfxMessageBox(buff);



    //2进制到16进制
    //TCHAR buff[1024]={0};
    //TCHAR* str =_T("1011010");//如果在unicode工程下面,不加_T的话,那么他就默认表示ansi编码,所以我们得去转换一下
    //int a = _tcstol(str,NULL,2);//这个时候这个a就保存的2进制转换的10进制整数了,_tcstol  和 atoi 有啥区别呢?atoi  只可以冲10进制的字符串转到10进制的数字
    //_itot(a,buff,16);
    ////我们来看看转换成功没?
    //AfxMessageBox(buff);

    //10进制数字到16进制字符串
    int a = 10;
    TCHAR buff[1024]={0};
    _itot(a,buff,16);
    AfxMessageBox(buff);

    //小技巧:_itot    _tcstol   _tstol   _tstoi
    //一般使用_itot  和 _tcstol配合

    //字符串到整数,就联想到_itot
    //整数到字符串,就联想到_tcstol  t表示通用,c表示const,s表示string,to表示到,l表示long,通用类型常量字符串到长整形
    

    //比如我们想把8进制的字符串转到16进制的字符串,这个该怎么整呢?
    //1.首先是字符串,就想到_tcstol,先转到10进制的整形
    //2.都是整形了,咱们就想到_itot,这个意思是10进制到任何进制,so easy
}

 

posted @ 2013-08-10 16:19  宝贝,我永远都在  阅读(716)  评论(0)    收藏  举报