+static const struct {
+ double bin_val;
+ double dec_val;
+ int8_t exp;
+} si_prefixes['z' - 'E' + 1] = {
+ ['y'-'E']= { 8.271806125530276749e-25, 1e-24, -24 },
+ ['z'-'E']= { 8.4703294725430034e-22, 1e-21, -21 },
+ ['a'-'E']= { 8.6736173798840355e-19, 1e-18, -18 },
+ ['f'-'E']= { 8.8817841970012523e-16, 1e-15, -15 },
+ ['p'-'E']= { 9.0949470177292824e-13, 1e-12, -12 },
+ ['n'-'E']= { 9.3132257461547852e-10, 1e-9, -9 },
+ ['u'-'E']= { 9.5367431640625e-7, 1e-6, -6 },
+ ['m'-'E']= { 9.765625e-4, 1e-3, -3 },
+ ['c'-'E']= { 9.8431332023036951e-3, 1e-2, -2 },
+ ['d'-'E']= { 9.921256574801246e-2, 1e-1, -1 },
+ ['h'-'E']= { 1.0159366732596479e2, 1e2, 2 },
+ ['k'-'E']= { 1.024e3, 1e3, 3 },
+ ['K'-'E']= { 1.024e3, 1e3, 3 },
+ ['M'-'E']= { 1.048576e6, 1e6, 6 },
+ ['G'-'E']= { 1.073741824e9, 1e9, 9 },
+ ['T'-'E']= { 1.099511627776e12, 1e12, 12 },
+ ['P'-'E']= { 1.125899906842624e15, 1e15, 15 },
+ ['E'-'E']= { 1.152921504606847e18, 1e18, 18 },
+ ['Z'-'E']= { 1.1805916207174113e21, 1e21, 21 },
+ ['Y'-'E']= { 1.2089258196146292e24, 1e24, 24 },