vc库里有没有可以直接调用的2-10-16进制互相转换函数

解决方案 »

  1.   

    本来在内存中就是存为16进制的,输出为什么就看你怎么显示了,如果你一定要,用 itoa然后用atoi转换回来,这是多余的
      

  2.   

    你是说字符串吧,sprintf,sscanf就可以。
      

  3.   

    itoa(100,BUF,16);
    itoa(100,BUF,2);
      

  4.   

    char buffer[10]
    _itoa(200,buffer,16);//将200转换为16进制
    _itoa(200,buffer,2);//将200转换为2进制
      

  5.   

    Example /* ITOA.C: This program converts integers of various
     * sizes to strings in various radixes.
     */#include <stdlib.h>
    #include <stdio.h>void main( void )
    {
       char buffer[20];
       int  i = 3445;
       long l = -344115L;
       unsigned long ul = 1234567890UL;   _itoa( i, buffer, 10 );
       printf( "String of integer %d (radix 10): %s\n", i, buffer );
       _itoa( i, buffer, 16 );
       printf( "String of integer %d (radix 16): 0x%s\n", i, buffer );
       _itoa( i, buffer, 2  );
       printf( "String of integer %d (radix 2): %s\n", i, buffer );   _ltoa( l, buffer, 16 );
       printf( "String of long int %ld (radix 16): 0x%s\n", l, 
                                                        buffer );   _ultoa( ul, buffer, 16 );
       printf( "String of unsigned long %lu (radix 16): 0x%s\n", ul,
                                                        buffer );
    }
    OutputString of integer 3445 (radix 10): 3445
    String of integer 3445 (radix 16): 0xd75
    String of integer 3445 (radix 2): 110101110101
    String of long int -344115 (radix 16): 0xfffabfcd
    String of unsigned long 1234567890 (radix 16): 0x499602d2
      

  6.   

    大侠们,现在我有一个char[20] = "1010",是二进制的
    想把他转换成十进制数
      

  7.   

    itoa((int)strtol(strToken, &pcTmp, 2), pcBuf, 10);