Results 1 to 9 of 9

Thread: Higher levels

  1. #1

    Thread Starter
    Fanatic Member alkatran's Avatar
    Join Date
    Apr 2002
    Location
    Canada
    Posts
    860

    Higher levels

    Well I just read about ^^ (2^^2 = 2^2)

    I was wondering, it was said that 3^^3 = 3^(3^3) BUT

    ^^ is a series of exponentials, so the answer should be 3^3^3, and PEDMA says you read from left to right, so it would be (3^3)^3

    3^(3^3) = 3^27
    (3^3)^3 = 3^(3*3) = 3^9

    I'd say that's a pretty big difference, what do you think?
    Don't pay attention to this signature, it's contradictory.

  2. #2
    transcendental analytic kedaman's Avatar
    Join Date
    Mar 2000
    Location
    0x002F2EA8
    Posts
    7,221
    where did you read about it? ^ is right associative, and you never see x^ab as (x^a)^b
    Use
    writing software in C++ is like driving rivets into steel beam with a toothpick.
    writing haskell makes your life easier:
    reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
    To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.

  3. #3

    Thread Starter
    Fanatic Member alkatran's Avatar
    Join Date
    Apr 2002
    Location
    Canada
    Posts
    860
    x^ab = (x^a)*b

    I was saying that if you write:
    2^2^2 should it be (2^2)^2 or 2^(2^2)
    Don't pay attention to this signature, it's contradictory.

  4. #4
    transcendental analytic kedaman's Avatar
    Join Date
    Mar 2000
    Location
    0x002F2EA8
    Posts
    7,221
    Originally posted by alkatran
    x^ab = (x^a)*b

    I was saying that if you write:
    2^2^2 should it be (2^2)^2 or 2^(2^2)
    lets type it out explicitely:
    xab=(x^a)^b
    ^ is right associative, which means that you put parentesis around the rightmost ^ first so say:
    2^2^2^2 = 2^(2^(2^2))
    left associative operators work the other way around:
    2-2-2-2=((2-2)-2)-2
    Use
    writing software in C++ is like driving rivets into steel beam with a toothpick.
    writing haskell makes your life easier:
    reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
    To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.

  5. #5

    Thread Starter
    Fanatic Member alkatran's Avatar
    Join Date
    Apr 2002
    Location
    Canada
    Posts
    860
    Ok thanks.

    Anybody else find it sortof funny that left associative operators can be rearranged any which way and still get the same answer?

    2*3/4 = 3/4*2 = (2*3)/4 = 2*(3/4)
    Don't pay attention to this signature, it's contradictory.

  6. #6
    transcendental analytic kedaman's Avatar
    Join Date
    Mar 2000
    Location
    0x002F2EA8
    Posts
    7,221
    no it doesn't work that way every time. * is not associative only /. try doing that with two / operators and you'll see what i mean.
    Use
    writing software in C++ is like driving rivets into steel beam with a toothpick.
    writing haskell makes your life easier:
    reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
    To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.

  7. #7

    Thread Starter
    Fanatic Member alkatran's Avatar
    Join Date
    Apr 2002
    Location
    Canada
    Posts
    860
    3/2/4 =1.5/4 = .375
    3/4/2 = .75/2 = .375

    /4/2*3 = 1/4/2*3 = .125*3 = .375

    Seems pretty consistant to me.
    Don't pay attention to this signature, it's contradictory.

  8. #8
    transcendental analytic kedaman's Avatar
    Join Date
    Mar 2000
    Location
    0x002F2EA8
    Posts
    7,221
    errr.. you're treating them as factors.. I thought you were talking about commutation of left associative operators..
    Use
    writing software in C++ is like driving rivets into steel beam with a toothpick.
    writing haskell makes your life easier:
    reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
    To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.

  9. #9
    So Unbanned DiGiTaIErRoR's Avatar
    Join Date
    Apr 1999
    Location
    /dev/null
    Posts
    4,111
    3^3^3 = 3^(3^3) <> (3^3)^3

    The rule is, the highest power gets calculated first.

    (2^3+4^2)^2^4

    If you think about this problem. You should do 2^4 first. Then (...)^16.
    Last edited by DiGiTaIErRoR; Jan 25th, 2004 at 06:00 PM.

Posting Permissions

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



Click Here to Expand Forum to Full Width