十进制数转化为十六进制数

xdxkxc 2005-06-22 10:27:11
在dialog based 框架里的图形编辑对话框里拖了一个按钮和两个edit控件,在edit控件1中输入一double 型十进制数,在单击按钮后想在edit2控件中得到对应的16进制数。请大家帮忙
...全文
258 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
sodangerous 2005-06-22
  • 打赏
  • 举报
回复
int n;
char s[32];
itoa(n,s,16);
handwolf 2005-06-22
  • 打赏
  • 举报
回复
CString DecToHex(CString strDec)
{
double dblData = 0;
CString strHec;
sscanf(strDec.GetBuffer(strDec.GetLength()),"%f",&dblData);
strHec.Format("%x", dblData);

return strHec;
}
handwolf 2005-06-22
  • 打赏
  • 举报
回复
CString DecToHex(CString strDec)
{
double dblData = 0;
char chsData[128];
CString strHec;
sscanf(strDec.GetBuffer(strDec.GetLength()),"%f",&dblData);
strHec.Format("%x", dblData);

return strHec;
}
hxue1981 2005-06-22
  • 打赏
  • 举报
回复
CString CSegInfo::algorismtohex(int algorism)//十六进制转换
{
CString str;
switch(algorism)
{
case 10:
str="A";
break;
case 11:
str="B";
break;
case 12:
str="C";
break;
case 13:
str="D";
break;
case 14:
str="E";
break;
case 15:
str="F";
break;
default:
str.Format("%d",algorism);
}
return str;
}
void mydialog::OnButton()
{UpdateData();
m_edit2=algorismtohex(m_edit1);]
UpdateData(FALSE);
}
edit1 int型
edit2 CString型
vcmute 2005-06-22
  • 打赏
  • 举报
回复
itoa(n,s,16);
vcmute 2005-06-22
  • 打赏
  • 举报
回复
double 型十进制数转16进制数?
一般是整数转整数itoa
xdxkxc 2005-06-22
  • 打赏
  • 举报
回复
用k=m_sHex.GetLength();得不到结果
xdxkxc 2005-06-22
  • 打赏
  • 举报
回复
crystal521(※水晶※【软→硬】)
非常感谢,小数位不要转换.好象不考滤数据类型也可以,比如:

void CRSADlg::OnDecToHex()
{
CString str1;
GetDlgItem(IDC_shadow11)->GetWindowText(str1);
int n = atoi(str1.GetBuffer(0));
char ch[20];
memset(ch,0,20);
itoa(n,ch,16);
m_hex = ch;
GetDlgItem(IDC_hex)->SetWindowText(m_hex);
}
经调试通过了.
若得到16进制数后,想得到他的长度,比如说得到 1a2 后,可以显示长度为3,并输出,不知怎么编码
呵呵,帮个忙吧
Mr-Chen 2005-06-22
  • 打赏
  • 举报
回复
小数位如果要转换那就要看你的编码规则了
Mr-Chen 2005-06-22
  • 打赏
  • 举报
回复
一般使用16进制数是字符传形式
void CDlgDlg::OnOK()
{
UpdateData(true);
CString m_sHex;
int m_Int;
m_Int = m_DoubleData;//m_DoubleData为Edit1的Double类型变量
m_sHex.Format("%x",m_Int);
GetDlgItem(IDC_EDIT2)->SetWindowText(m_sHex);
UpdateData(false);
}
xdxkxc 2005-06-22
  • 打赏
  • 举报
回复
icansaymyabc:

那可以把输入的十进制数改为整型.
拖了一个按钮和两个edit控件,在edit控件1中输入一整型十进制数(对应为m_shadow11),再单击按钮(映射函数为void CRSADlg::OnDecToHex() )后想在edit2控件(对应为m_hex)中得到对应的16进制数,
还有,我不明白sscanf(strDec.GetBuffer(strDec.GetLength()),"%f",&dblData);作什么用;strHec.Format("%x", dblData);是不是实现了转化功能?

下面的函数应该如何写?

void CRSADlg::OnDecToHex()
{
UpdateData(true);

????????

UpdateData(false);
}

icansaymyabc 2005-06-22
  • 打赏
  • 举报
回复
一般 只有 10进制整数才有对应的整数 16进制,比如 15 == 0xF.
可你居然要把 double 转成 16进制,
那么你说说,如果你输入 double(0.5),你期望看见的 16进制是 0x多少?
xdxkxc 2005-06-22
  • 打赏
  • 举报
回复
青松崖:
   我输入的十进制数是double型的,不是Cstring型的.不知道double型变量如何向Cstring型变量转化?我不明白sscanf(strDec.GetBuffer(strDec.GetLength()),"%f",&dblData);作什么用;strHec.Format("%x", dblData);是不是实现了转化功能?拖了一个按钮和两个edit控件,在edit控件1中输入一double 型十进制数(对应为m_shadow11),在单击按钮(映射函数为void CRSADlg::OnDecToHex() )后想在edit2控件(对应为m_hex)中得到对应的16进制数,


帮我填一下下面的函数以完成我想要的功能好吗?

void CRSADlg::OnDecToHex()
{
UpdateData(true);

????????

UpdateData(false);
}

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧