+ Reply to Thread
Results 1 to 6 of 6

MAJOR BUG: Excel operator precedence is wrong

  1. #1
    P Keenan
    Guest

    MAJOR BUG: Excel operator precedence is wrong

    If I enter in a cell "=-1^2" I should see "-1" as the value, not "1". If I
    enter "=-A1^2" and the cell A1 contains the value "1", I should see "-1", not
    "1". The binary operator "^" should have higher precedence than unary "-",
    but does not. (It does have higher precedence than binary "-", as in "=2-2^2"
    correctly gives the value "-2", not "0".)

    ----------------
    This post is a suggestion for Microsoft, and Microsoft responds to the
    suggestions with the most votes. To vote for this suggestion, click the "I
    Agree" button in the message pane. If you do not see the button, follow this
    link to open the suggestion in the Microsoft Web-based Newsreader and then
    click "I Agree" in the message pane.

    http://www.microsoft.com/office/comm...heet.functions

  2. #2
    Forum Contributor
    Join Date
    06-01-2006
    Posts
    324
    Sorry bud, you need to relearn your algebra..

    -1^2 is 1

    -(1^2) is -1
    Google is your best friend!

  3. #3
    Toppers
    Guest

    RE: MAJOR BUG: Excel operator precedence is wrong

    My understanding is that =-1^2 means 9-1 to the power 2) i.e. (-1*-1)=1

    =2-2^2 = 2 - (2*2) = 2 -4 = -2

    So Excel is correct according to accepted mathematical operator precedence


    "P Keenan" wrote:

    > If I enter in a cell "=-1^2" I should see "-1" as the value, not "1". If I
    > enter "=-A1^2" and the cell A1 contains the value "1", I should see "-1", not
    > "1". The binary operator "^" should have higher precedence than unary "-",
    > but does not. (It does have higher precedence than binary "-", as in "=2-2^2"
    > correctly gives the value "-2", not "0".)
    >
    > ----------------
    > This post is a suggestion for Microsoft, and Microsoft responds to the
    > suggestions with the most votes. To vote for this suggestion, click the "I
    > Agree" button in the message pane. If you do not see the button, follow this
    > link to open the suggestion in the Microsoft Web-based Newsreader and then
    > click "I Agree" in the message pane.
    >
    > http://www.microsoft.com/office/comm...heet.functions


  4. #4
    Bernard Liengme
    Guest

    Re: MAJOR BUG: Excel operator precedence is wrong

    The - operators in =-1^2 and in =4-2^2 are not the same.
    One is negation (unitary); the other is subtraction (binary)
    best wishes
    --
    Bernard V Liengme
    www.stfx.ca/people/bliengme
    remove caps from email

    "P Keenan" <P [email protected]> wrote in message
    news:[email protected]...
    > If I enter in a cell "=-1^2" I should see "-1" as the value, not "1". If I
    > enter "=-A1^2" and the cell A1 contains the value "1", I should see "-1",
    > not
    > "1". The binary operator "^" should have higher precedence than unary "-",
    > but does not. (It does have higher precedence than binary "-", as in
    > "=2-2^2"
    > correctly gives the value "-2", not "0".)
    >
    > ----------------
    > This post is a suggestion for Microsoft, and Microsoft responds to the
    > suggestions with the most votes. To vote for this suggestion, click the "I
    > Agree" button in the message pane. If you do not see the button, follow
    > this
    > link to open the suggestion in the Microsoft Web-based Newsreader and then
    > click "I Agree" in the message pane.
    >
    > http://www.microsoft.com/office/comm...heet.functions




  5. #5
    Jerry W. Lewis
    Guest

    RE: MAJOR BUG: Excel operator precedence is wrong

    Old news. See Help for "The order in which Microsoft Excel performs
    operations in formulas."

    -1^2 is ambiguous. The most common convention for order of operations would
    interpret it as -(1^2), but as documented, Excel will interpret it as (-1)^2,
    and will calculate it correctly given that interpretation. There is no
    unversal order of operations that applies to all computer software, so the
    user must take responsibility for knowing what their particular package will
    do if they intend to write ambiguous expressions.

    Jerry

    "P Keenan" wrote:

    > If I enter in a cell "=-1^2" I should see "-1" as the value, not "1". If I
    > enter "=-A1^2" and the cell A1 contains the value "1", I should see "-1", not
    > "1". The binary operator "^" should have higher precedence than unary "-",
    > but does not. (It does have higher precedence than binary "-", as in "=2-2^2"
    > correctly gives the value "-2", not "0".)
    >
    > ----------------
    > This post is a suggestion for Microsoft, and Microsoft responds to the
    > suggestions with the most votes. To vote for this suggestion, click the "I
    > Agree" button in the message pane. If you do not see the button, follow this
    > link to open the suggestion in the Microsoft Web-based Newsreader and then
    > click "I Agree" in the message pane.
    >
    > http://www.microsoft.com/office/comm...heet.functions


  6. #6
    Tushar Mehta
    Guest

    Re: MAJOR BUG: Excel operator precedence is wrong

    Yes, by most accepted standards, -1^2 should be -1. Unfortunately,
    there is no "universally" accepted standard on the priority of unary
    negation and exponentiation. MS chose to have XL treat the unary
    negation as having a higher priority than exponentiation. And, as of
    now, it is hard to imagine MS would revisit the topic.

    Of course, this lack of a definite rule leads to inconsistency even
    within the XL environment itself since in VBA, -1^2 is -1!

    --
    Regards,

    Tushar Mehta
    www.tushar-mehta.com
    Multi-disciplinary business expertise
    + Technology skills
    = Optimal solution to your business problem
    Recipient Microsoft MVP award 2000-2005

    In article <[email protected]>, =?Utf-
    8?B?UCBLZWVuYW4=?= <P [email protected]> says...
    > If I enter in a cell "=-1^2" I should see "-1" as the value, not "1". If I
    > enter "=-A1^2" and the cell A1 contains the value "1", I should see "-1", not
    > "1". The binary operator "^" should have higher precedence than unary "-",
    > but does not. (It does have higher precedence than binary "-", as in "=2-2^2"
    > correctly gives the value "-2", not "0".)
    >
    > ----------------
    > This post is a suggestion for Microsoft, and Microsoft responds to the
    > suggestions with the most votes. To vote for this suggestion, click the "I
    > Agree" button in the message pane. If you do not see the button, follow this
    > link to open the suggestion in the Microsoft Web-based Newsreader and then
    > click "I Agree" in the message pane.
    >
    > http://www.microsoft.com/office/comm...heet.functions
    >


+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1