十六进制转10进制

Posted yesiming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了十六进制转10进制相关的知识,希望对你有一定的参考价值。

十六进制转10进制

#include <stdio.h>
int main()

    char a[100]=0;
    int i=0,j=0;
    printf("输入一个数:");
    fgets(a,100,stdin);
    while(a[i])
    
        if(a[i]>=\'0\'&&a[i]<=\'9\')
        
            j=j*16+a[i]-\'0\';
        
        else if(a[i]>=\'a\'&&a[i]<=\'f\')
        
            j=j*16+a[i]+10-\'a\';
        
        else if(a[i]>=\'A\'&&a[i]<=\'F\')
        
            j=j*16+a[i]+10-\'A\';
        
        i++;
    
    printf("10进制=%d\\n",j);
    return 0;

DELPHI7的十六进制转10进制函数

function hextodec(const ahexstring:string):integer
begin
result:= strtoint('$'+ahexstring)
end
我在主函数调用,用字符串转16进制的出来的结果S1:string
s2:integer;
S2:=hextodec(s1);运行报错说:'$' is not valid integer value
该怎么改呢?

参考技术A 这个需要你自己写了。DELPHI 好象没有提供直接函数,函数内容为
var
i : integer;
begin
result := 0;
for i := length(ahexstring) downto 1 do
begin
result := result shl 4;
case ahexstring[i] of
'0'..'9' : result := result + ord(ahexstring[i]) - 48;
'A'..'Z' : result := result + ord(ahexstring[i]) - 55;
'a'..'z' : result := result + ord(ahexstring[i]) - 55 -32;
else
;//非法
end;
end;
参考技术B 你不会没给s1赋值吧,光一个$怎么转,一般比如
s1:='D3';
s2:=hextodec(s1);本回答被提问者采纳

以上是关于十六进制转10进制的主要内容,如果未能解决你的问题,请参考以下文章

16进制转10进制和2进制

DELPHI7的十六进制转10进制函数

JavaScript的16进制转10进制

JavaScript的16进制转10进制

10进制转2进制不够时在哪一位补0

十进制转换ASCII怎么转?