https://issues.apache.org/ooo/show_bug.cgi?id=115798
orcmid <orcmid@apache.org> changed:
What Removed Added

CC orcmid@apache.org
 Comment #3 from orcmid <orcmid@apache.org> 20120213 15:50:44 UTC 
I hate to say it, but the OpenFormula specification is quite strict about the
limitation of the text of the binary form being limited to 10 binary digits and
that it be for a signed two'scomplement value.
So BIN2DEC(0111111111) is the largest positive value and BIN2DEC(1000000000)
is the smallest (negative) value. (BIN2DEC(1111111111) = 1).
Here's the relevant text:
"Converts given binary number into decimal equivalent, with the topmost 10th
digit being the sign bit (using a two's complement representation). If given
Text, the text is considered a binary number representation. If given a Number,
the digits of the number when printed as base 10 are considered the digits of
the equivalentlyrepresented binary number."
I find that rather awful, but it is apparently an interoperablity requirement
and it is wired into the OpenFormula specification.
The weird thing about BIN2HEX is that the result is allowed to be up to 10
hexadecimal digits (still for a twoscomplement value) even though the input is
restricted to 10 binary bits. However, the desired number of hexadecimal
digits is an optional parameter. There is this odd statement: "If the input
has its 10th bit on, the Digits argument is ignored; otherwise, the Digits
indicates the number of digits in the output, with leading 0 digits added as
necessary to bring it up to that number of digits." So, for a negative input
(10thbit on), it is not clear how many hexadecimal digits are produced in the
result (there being no default value for the Digits parameter).
So I would say, for OpenFormula, the behavior of BIN2DEC is not a bug.

Configure bugmail: https://issues.apache.org/ooo/userprefs.cgi?tab=email
 You are receiving this mail because: 
You are on the CC list for the bug.
