Hi Charles,
your formulas are suitable for developing a small floating point converter.
Looking for the maximum and minimum values of the extended type I finally found: 1.18973149535723176502e4932 which can be calculated with 2^16384. But I also found the LDBL_MIN constant which indicates the minimum positive value: 3.36210314311209350626e-4932. This can be calculated with 2^-16382 or 1/(2^16382). This seems not to work in Oxygenbasic. Is there still another way to calculate with a negative exponent?
Roland
$ filename "Ext_limits.exe"
'uses rtl32
'uses rtl64
uses console
string fmt(int v){ return right(hex(v,8),8) }
'extended f=1.18973149535723176502e4932 'LDBL_MAX
extended f=2^16384
int i at @f
printl f ", hex: " fmt(i[3]and 0xffff) " " fmt(i[2]) " " fmt(i[1])
'f=-1.18973149535723176502e4932
f=-(2^16384)
printl f ", hex: " fmt(i[3]and 0xffff) " " fmt(i[2]) " " fmt(i[1]) & cr
'f=3.36210314311209350626e-4932 'LDBL_MIN - min positive value
f=2^-16382
'f=1/(2^16382)
'f=pow(2,-16382)
printl f
printl fmt(i[3]and 0xffff) " " fmt(i[2]) " " fmt(i[1]) & cr
printl "Enter ... " : waitkey