tcllib中的math::bignum库被列为最低版本要求为 8.4。所以你应该能够使用它(虽然更新到 8.6 比能够使用大整数给你更多的好处)。
示例(使用交互式tclsh
repl 会话):
% package require math::bignum
3.1.1
% set addr [::math::bignum::fromstr 0xffff00001000000]
bignum 0 0 256 61440 4095
% set offset [::math::bignum::fromstr 0x01]
bignum 0 1
% set newaddr [::math::bignum::add $addr $offset]
bignum 0 1 256 61440 4095
% puts [::math::bignum::tostr $newaddr 16]
ffff00001000001
与 tcl 8.6 原生数学相比:
% set addr 0xffff00001000000
0xffff00001000000
% set offset 0x01
0x01
% set newaddr [expr {$addr + $offset}]
1152903912437579777
% puts [format %x $newaddr]
ffff00001000001
相同的非阴性结果。