RosettaCodeData/Task/Variable-length-quantity/Mathematica/variable-length-quantity.math

8 lines
303 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
toOctets[n_Integer] :=
StringJoin @@@
Partition[
PadLeft[Characters@IntegerString[n, 16],
2 Ceiling[Plus @@ DigitCount[n, 16]/2], {"0"}], 2]
fromOctets[octets_List] := FromDigits[StringJoin @@ octets, 16]
Grid[{#, toOctets@#, fromOctets[toOctets@#]} & /@ {16^^3ffffe, 16^^1fffff, 16^^200000}]