Мое мнение о том, что гибридная система может быть оптимальной здесь. Чтобы избежать десятичного смещения, базовый параметр может быть использован для повышения гибкости. Для параметра размера, то почему бы не система, как это:
Код:
([0-9A-F] +) ([, |.":] +) ([0-9A-F] *) (Х [0-9A-F] +), (Y [0-9] +)??
И вычисление psuedocode:Код:
Если не Группа 5:
Набор группы от 5 до 10
Если не Группа 4:
Набор группы от 4 до 8
Установить значительным, как to_decimal (Группа 1 от базовой группы 5) * Группа 5 ^ Группа 4
Если 2-й группы:
Установить незначителен, как to_decimal ((конкатенации "0." и группа 3) от базовой группы 5) * Группа 5 ^ Группа 4
Установить общее в значительной + незначителен
Else:
Установить общий как значительные
Это позволяет конструкции типаНабор группы от 5 до 10
Если не Группа 4:
Набор группы от 4 до 8
Установить значительным, как to_decimal (Группа 1 от базовой группы 5) * Группа 5 ^ Группа 4
Если 2-й группы:
Установить незначителен, как to_decimal ((конкатенации "0." и группа 3) от базовой группы 5) * Группа 5 ^ Группа 4
Установить общее в значительной + незначителен
Else:
Установить общий как значительные
Код:
50,00 => 5000000000
50 50 => 5050000000
600X0 => 600
500X0Y6 => 180
1Y16 => 4294967296
30 => 3000000000
40:50 => 4050000000
50 50 => 5050000000
600X0 => 600
500X0Y6 => 180
1Y16 => 4294967296
30 => 3000000000
40:50 => 4050000000