Команда format
является ключом к созданию таких чисел; нужный вам шаблон находится даже в той команде, которую вы хотите эмулировать.
Изменение:
return [expr {$crc_value ^ 0xFFFFFFFF}]
до:
return [format "0x%X" [expr {$crc_value ^ 0xFFFFFFFF}]]
Однако, в этом случае вам, вероятно, лучше использовать эту немного другую версию:
return [format "0x%08X" [expr {$crc_value ^ 0xFFFFFFFF}]]
Это гарантирует, что выходное поле имеет ширину 8
символов, а начальные символы в нем - 0
символов (то есть левое поле с нулями до восьми заглавных шестнадцатеричных значений и с добавлением 0x
впереди). Это почти наверняка самая полезная версия, особенно если вы составляете таблицу из нескольких CRC.