注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
a26409310的个人空间 https://home.eeworld.com.cn/space-uid-263238.html [收藏] [复制] [分享] [RSS]
日志

vc 十六进制 浮点 转换

已有 2232 次阅读2010-4-12 18:27

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 十六进制 浮点 转换" />

分享

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章