hello
may be this help you:
define todec(str) {
hstr="1234567890ABDCEF";
res=0;
n=split(str,digit,"");
for(i=1;i<=n;i++) {
num=index(hstr,digit[i])-1;
res=res+(num*16^(n-i));
}
return res;
}
then just sum=todec(hex1)+todec(hex2);
if you do not go beyond int it should work.
slds.
gabi
On 9/20/06, Axel Belinfante <[EMAIL PROTECTED]> wrote:
is there a way to use awk to sum hex values?
i.e. I want to sum values in the 3rd column of
block 0x000af9a8 0x00000040 0x0001ddf3 0x00000000
block 0x000afd88 0x00000040 0x0001ddf3 0x00000000
I have tried to make awk use an external program
to do the hex-to-dec conversion, but that was very
slow (probably due to many page faults).
(in the end I resorted to perl...)
context:
I've been fiddling with leak(1) to make it print
an overview of how much memory is allocated where,
as in:
location total calls
amount
allocated
src(0x0001d8f1); // 247648 20
src(0x000067f8); // 24256 59
src(0x0001da70); // 15760 6
src(0x000128ac); // 8256 1
src(0x000210f8); // 4128 66
src(0x00014bc2); // 3648 57
[...]
src(0x00006586); // 64 1
src(0x00011a50); // 64 1
src(0x000067c7); // 64 1
src(0x0001ca32); // 32 1
// 326544
I found it quite useful to get insight in where
the memory goes (even when it is not leaked) -
but maybe we already have this functionality
somewhere, and I missed it?
Axel.