读书人

如何将Edit1-gt;Text中的16进制字符串转

发布时间: 2013-06-26 14:29:32 作者: rapoo

怎么将Edit1->Text中的16进制字符串转成2进制
怎么将Edit1->Text中的16进制字符串转成2进制,例如FF转换成11111111,将11111111右移四位为1111.
[解决办法]

引用:

//---------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <stdio.h>


#include <stdlib.h>
#include "Unit1.h"
//---------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------

void __fastcall TForm1::Edit1KeyUp(TObject *Sender, WORD &Key,
TShiftState Shift)
{
char tmpChar[200] ;

itoa (Edit1->Text.ToInt(),tmpChar,2);
Edit2->Text = AnsiString(tmpChar) ;
itoa (Edit1->Text.ToInt(),tmpChar,16);
Edit3->Text = "0X " + UpperCase(AnsiString(tmpChar)) ;
}
//---------------------------------------
void __fastcall TForm1::Edit2KeyUp(TObject *Sender, WORD &Key,
TShiftState Shift)
{
long tmpNum ;
char tmpChar[200] ;

tmpNum = strtol (Edit2->Text.c_str(),NULL,2);
Edit1->Text = StrToInt(tmpNum) ;
itoa (Edit1->Text.ToInt(),tmpChar,16);
Edit3->Text = UpperCase(AnsiString(tmpChar)) ;
}
//---------------------------------------
void __fastcall TForm1::Edit3KeyUp(TObject *Sender, WORD &Key,
TShiftState Shift)
{
long tmpNum ;
char tmpChar[200] ;

tmpNum = StrToInt("$" + Edit3->Text) ;
Edit1->Text = StrToInt(tmpNum) ;
itoa (Edit1->Text.ToInt(),tmpChar,2);
Edit2->Text = AnsiString(tmpChar) ;
}
//---------------------------------------


如何将Edit1->Text中的16进制字符串转成2进制

读书人网 >C++ Builder

热点推荐