能力值:
(RANK:410 )
|
-
-
2 楼
VB的,
Text1.Text = Hex(123456) '十进制转十六进制输出
Text2.Text = &H123456 '十六进制转十进制输出。
VC的:
char szBuffer[100] = {0};
char szFormat[6] = "%X-%d";
wsprintf(szBuffer,szFormat,12345,0x12345);
输出结果:3039-74565
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
Delphi 7中:
IntToHex() //10进制到16进制
StrToInt('$'+'A') //16进制到10进制
VC不懂。
|
能力值:
( LV8,RANK:130 )
|
-
-
4 楼
谢谢!!!
汇编中如何实现啊。。。
|
能力值:
(RANK:1010 )
|
-
-
5 楼
int a = 15 ;
cout << hex << a << endl ;
输出结果:F
|
能力值:
(RANK:410 )
|
-
-
6 楼
最初由 lee 发布 谢谢!!!
汇编中如何实现啊。。。
和VC的一样,只需调用wsprintf函数就行了。
|
能力值:
( LV8,RANK:130 )
|
-
-
7 楼
DWORD m_sumber;
char buf[MAX_PATH];
CString str;
GetVolumeInformation("c:\\",NULL,0,&m_sumber,NULL,NULL,NULL,NULL);
str.Format("%ld",m_sumber);
memset(buf,0,sizeof(buf));
wsprintf(buf,"%X",str);
AfxMessageBox(buf);//这样的结果不对啊。。。。
|
能力值:
(RANK:410 )
|
-
-
8 楼
//改成这样试试。
DWORD m_sumber;
char buf[MAX_PATH];
//CString str; 这一句不要。
GetVolumeInformation("c:\\",NULL,0,&m_sumber,NULL,NULL,NULL,NULL);
//str.Format("%ld",m_sumber); 这一句也不要。
memset(buf,0,sizeof(buf));
wsprintf(buf,"%X",m_sumber); //改成m_sumber。
AfxMessageBox(buf);//这样的结果不对啊。。。。
|
能力值:
( LV8,RANK:130 )
|
-
-
9 楼
最初由 小虾 发布 //改成这样试试。 DWORD m_sumber; char buf[MAX_PATH]; //CString str; 这一句不要。 GetVolumeInformation("c:\\",NULL,0,&m_sumber,NULL,NULL,NULL,NULL); ........ 这样确实转为16进制了。。但是是字符串啊。。。
我还要转为16进制整数。。。
atoi不行啊。。。不能将a-f进行转化。
|
能力值:
(RANK:410 )
|
-
-
10 楼
?我所说的就是将整数转成字符输出呀。
如果你要将字符转成整数只有自己写函数了,很简单的。
|
能力值:
( LV8,RANK:130 )
|
-
-
11 楼
谢谢哦。。
麻烦了你好多次啊。。。呵呵~~~~~~~
|
能力值:
( LV9,RANK:1060 )
|
-
-
12 楼
将字符转为整数用_atoi()
|
能力值:
( LV9,RANK:290 )
|
-
-
13 楼
10进制的数转为16进制的数?
没必要转啊,只要输出的时候化为16进制输出就可以了
如下面的VC代码:
int a=10; //10进制
int b=0x10; //16进制
int c;
c=a+b;
CString ss;
ss.Format("10进制:%d 16进制:%x",c,c);
|
能力值:
( LV9,RANK:530 )
|
-
-
14 楼
C语言怎么弄啊
#include <stdio.h>
main()
{
char name[80];
int a,b,c,sum;
sum=0;
printf("input your name:\n");
gets(name);
a=strlen(name);
for(b=0;b<a;b++)
{c=name; 我想把字符数组的ASC转化位16进制,怎么弄?
c=c<<4+c;
c=c%111;
sum=sum+c;};
sum=sum*sum;
汇编代码:
0040143A |> 3E:0FBE942E F4>/MOVSX EDX,BYTE PTR DS:[ESI+EBP-10C] 依次取注册名ASC16进制
00401443 |. 8BC2 |MOV EAX,EDX 转移
00401445 |. BF 6F000000 |MOV EDI,6F 特殊值
0040144A |. C1E0 04 |SHL EAX,4 左移4位
0040144D |. 03C2 |ADD EAX,EDX 与原来值加
0040144F |. 99 |CDQ 扩展,EDX清0
00401450 |. F7FF |IDIV EDI EAX=EAX/6F
00401452 |. 03DA |ADD EBX,EDX 除法的余数相加
00401454 |. 46 |INC ESI
00401455 |. 3BF1 |CMP ESI,ECX
00401457 |.^7C E1 \JL SHORT .0040143A
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
FormatToHex(char *pOut,BYTE *pIn,int size)
{
char dl,dh;
for(int k=0;k<size;k++)
{
dl=pIn[k] & 0x0F;
(dl<0xA)? pOut[3*k+1]=dl+0x30 : pOut[3*k+1]=dl+0x37;
dh=(pIn[k] >> 4) & 0x0F;
(dh<0xA)? pOut[3*k]=dh+0x30 : pOut[3*k]=dh+0x37;
pIn[3*k+2]=0x20;
}
}
使用的时候请务必保证pOut数组的大小
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
修正了一处错误
FormatToHex(char *pOut,BYTE *pIn,int size)
{
char dl,dh;
for(int k=0;k<size;k++)
{
dl=pIn[k] & 0x0F;
pOut[3*k+1]=((dl<0xA)? dl+0x30 : dl+0x37);
dh=(pIn[k] >> 4) & 0x0F;
pOut[3*k]=((dh<0xA)? dh+0x30 : dh+0x37);
pOut[3*k+2]=0x20;
}
}
char asc[]="123";
static char buf[100];
FormatToHex(buf,asc,sizeof(asc));
输出字符串--"31 32 33 00 "
|
|
|