void CMy1111111Dlg::OnButton1()
{
// using namespace std;
// string
m_text1 = "00" ;//= "3a "; //3a为16进制, 16进制就是无符号的int
< <==>
> MFC的BYTE型
char *ptr;
typedef union
{
float
float_data;
unsigned char Hex_data[4];
}Float_Data;
Float_Data
Data_float;
//符点数共用体
// TODO: Add your control notification handler
code here
UpdateData();
Data_float.Hex_data[0] = (char)(strtol(m_text1,
&ptr, 16));//strtol 把十六进制变为整形,(BYTE)
把十进制整形变为十六进制
Data_float.Hex_data[1] = (char)strtol(m_text2,
&ptr, 16);
Data_float.Hex_data[2] = (char)strtol(m_text3,
&ptr, 16);
Data_float.Hex_data[3] = (BYTE)strtol(m_text4,
&ptr, 16);
m_text5 =
Data_float.float_data;
UpdateData(FALSE);
}
void CMy1111111Dlg::OnButton2()
{
// TODO: Add your control notification handler
code here
char
str[1];
// unsigned char a1[4];
typedef union
{
float
float_data;
unsigned char Hex_data[4];
}Float_Data;
Float_Data
Data_float;
//符点数共用体
UpdateData();
Data_float.float_data = m_text5;
// a1[0] = Data_float.Hex_data[
0 ] ;
m_text1 = itoa(Data_float.Hex_data[ 0 ], str,
16);
m_text2 = itoa(Data_float.Hex_data[ 1 ], str,
16);
m_text3 = itoa(Data_float.Hex_data[ 2 ], str,
16);
m_text4 = itoa(Data_float.Hex_data[ 3 ], str,
16);
//m_text3 = sprintf(str, "%x", 1); //将100转为16进制表示的字符串。
UpdateData(FALSE);
}
十六进制 浮点 转换" TITLE="vc 十六进制 浮点 转换" />
分享
顶