当前位置:优学网  >  在线题库

在C中将十六进制字符串转换为十进制字符串

发表时间:2022-07-22 00:12:01 阅读:115

如何将十六进制字符串(如"661efdf2e3b19f7c045f15")转换为十进制字符串"123456789123456789123456789"?提前感谢!

🎖️ 优质答案
  • 使用GMP,您可以将十六进制数分配给"mpz_t"GMP整数值.这里有一个例子.

    #include <gmp.h>
    
    int main(int argc, char** argv) {   
        mpz_t integer;
        mpz_init(integer);
    
        mpz_set_str(integer, "661efdf2e3b19f7c045f15", 16); //16 is the number base
    
        gmp_printf("Your number is: %Zd\n", integer); //Outputs "Your number is: 123456789123456789123456789"
    
        return 0;
    }
    

    GMP自动随一些linux发行版提供,但如果您没有它,您可以下载它在这里.

    希望这有帮助!

  • 相关问题