QString MainWindow::hexTodec(QString strHex){//十六进制转十进制
int i;
int v=0;
for(i=0; i<strHex.length();i++)
{
v*=16;
v+=hex2(strHex[i].toLatin1());
}
return QString::number(v);
}
16进制转换的方法就是,比如一个数字是23AF
那么就是
F*16^0+A*16^1+3*16^2+2*16^3
=15*1+10*16+3*256+2*4096
也可以说是
=(16*(16*(16*2)+3)+A)+F
hex2(strHex[i].toLatin1())
这个我在之前已经回答你了。
而你的代码里的v其实就是这里每次的*16