9 个解决方案
#1
hello??
#2
我不认为会有这样函数。因为int与hex(实际上你可能是指dec与hex)是同样回事。我想,你也许想把一个十进制整数转换成十六进制形式的字符串,用下面的方法:
CString str;
int nVar;
str.Format("%h",nVar);
str持有你想要的结果。
CString str;
int nVar;
str.Format("%h",nVar);
str持有你想要的结果。
#3
对,应该是十进制整数转换成十六进制。
#4
但是运行到str.Format("%h",nVar);出错了,为什么?
#5
CString str;
str.Format("0x%lX", nVar);
str.Format("0x%lX", nVar);
#6
我只是想把十进制的数变成十六进制,作为一个加数来使用
楼上这样,似乎改变了大小,
比如,如果nVar=0,则*str=0x0,其值已经不是1了,
不知我说得对不对,请指教
楼上这样,似乎改变了大小,
比如,如果nVar=0,则*str=0x0,其值已经不是1了,
不知我说得对不对,请指教
#7
好象是变成了0x30了,也就是十进制数48了
#8
我搞懂你的意思了,nVar 是一个值,无所谓进制,至于我们说一个值是什么进制的,只是表示他的表达形式,比如 nVer = 0 表达为十进制数是 "0" 十六进制为 "0x00" 八进制为 "00" , 但是这不会影响这个值的大小。
str.Format("0x%lX", nVar); // 这行代码是把 nVar 转换为一个字符串,这个字符串是他的十六进制表示形式,比如 0 ==> "0x0" , *str 得到的是这个字符串的第一个字符'0', 0 的 ascci 码为 0x30 ,所以你得到了 48
至于加减乘除,这些运算都是对值的运算,和值的表达形式无关
str.Format("0x%lX", nVar); // 这行代码是把 nVar 转换为一个字符串,这个字符串是他的十六进制表示形式,比如 0 ==> "0x0" , *str 得到的是这个字符串的第一个字符'0', 0 的 ascci 码为 0x30 ,所以你得到了 48
至于加减乘除,这些运算都是对值的运算,和值的表达形式无关
#9
呵呵,今天中午吃饭时我才想到犯了这个很愚蠢的错误,
谢谢In355Hz了,确实是你说的那样,
给分了
谢谢In355Hz了,确实是你说的那样,
给分了
#1
hello??
#2
我不认为会有这样函数。因为int与hex(实际上你可能是指dec与hex)是同样回事。我想,你也许想把一个十进制整数转换成十六进制形式的字符串,用下面的方法:
CString str;
int nVar;
str.Format("%h",nVar);
str持有你想要的结果。
CString str;
int nVar;
str.Format("%h",nVar);
str持有你想要的结果。
#3
对,应该是十进制整数转换成十六进制。
#4
但是运行到str.Format("%h",nVar);出错了,为什么?
#5
CString str;
str.Format("0x%lX", nVar);
str.Format("0x%lX", nVar);
#6
我只是想把十进制的数变成十六进制,作为一个加数来使用
楼上这样,似乎改变了大小,
比如,如果nVar=0,则*str=0x0,其值已经不是1了,
不知我说得对不对,请指教
楼上这样,似乎改变了大小,
比如,如果nVar=0,则*str=0x0,其值已经不是1了,
不知我说得对不对,请指教
#7
好象是变成了0x30了,也就是十进制数48了
#8
我搞懂你的意思了,nVar 是一个值,无所谓进制,至于我们说一个值是什么进制的,只是表示他的表达形式,比如 nVer = 0 表达为十进制数是 "0" 十六进制为 "0x00" 八进制为 "00" , 但是这不会影响这个值的大小。
str.Format("0x%lX", nVar); // 这行代码是把 nVar 转换为一个字符串,这个字符串是他的十六进制表示形式,比如 0 ==> "0x0" , *str 得到的是这个字符串的第一个字符'0', 0 的 ascci 码为 0x30 ,所以你得到了 48
至于加减乘除,这些运算都是对值的运算,和值的表达形式无关
str.Format("0x%lX", nVar); // 这行代码是把 nVar 转换为一个字符串,这个字符串是他的十六进制表示形式,比如 0 ==> "0x0" , *str 得到的是这个字符串的第一个字符'0', 0 的 ascci 码为 0x30 ,所以你得到了 48
至于加减乘除,这些运算都是对值的运算,和值的表达形式无关
#9
呵呵,今天中午吃饭时我才想到犯了这个很愚蠢的错误,
谢谢In355Hz了,确实是你说的那样,
给分了
谢谢In355Hz了,确实是你说的那样,
给分了