由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 为什么exponentiation operator(^)是right associative的
相关主题
C++ code explanationoperator执行顺序
why copy assignment operator returns non-const type?[合集] ++ operator in C
What is the exponential operator for C++?ambiguous operators in c++
问两个问题,C++a C question
c++ 里面 @ 不能 overload?问个函数指针指向操作符的问题
为啥 c++ bit operation的优先级这么低C语言里面的register变量能否进行取地址操作? (转载)
a c++ question[C++] 入门级问题 increment and decrement operators
[合集] some file operation questionsScala的operator似乎不太好读
相关话题的讨论汇总
话题: operator话题: right话题: 为什么
进入Programming版参与讨论
1 (共1页)
s****m
发帖数: 160
1
例如2^3^2 = 2^(3^2) = 512,而不是intuitively
(2^3)^2 = 64?
有什么特别的原因吗?
b***i
发帖数: 3043
2
能说一下这是什么语言吗?
不过在数学上,前者是规定,数学家们觉得更显然,而不是后者。后者可以等价于2^(3*2)。

【在 s****m 的大作中提到】
: 例如2^3^2 = 2^(3^2) = 512,而不是intuitively
: (2^3)^2 = 64?
: 有什么特别的原因吗?

s****m
发帖数: 160
3
多谢。我想到的是Unix下的bc命令。

2)。

【在 b***i 的大作中提到】
: 能说一下这是什么语言吗?
: 不过在数学上,前者是规定,数学家们觉得更显然,而不是后者。后者可以等价于2^(3*2)。

r*g
发帖数: 3159
4
我理解你要是写计算器程序,输入表达式是压到一个stack里,同优先级的是先算后面
a****l
发帖数: 8211
5
whoever writes 2^3^2 should be spanked. Period.

【在 s****m 的大作中提到】
: 例如2^3^2 = 2^(3^2) = 512,而不是intuitively
: (2^3)^2 = 64?
: 有什么特别的原因吗?

s****m
发帖数: 160
6
是的,我是考虑写类似bc的计算器程序。
但是用stack有一个问题:那样1-2-3就是2而不是-4了。
这里减号是left associative的。
因为+,-,x,/都是left associative的,只有^不是,这种
不一致是我最初问这个问题的原因。当然如果是数学家定的
规则,我也没什么可说的。

【在 r*g 的大作中提到】
: 我理解你要是写计算器程序,输入表达式是压到一个stack里,同优先级的是先算后面
: 。

t****t
发帖数: 6806
7
第一, 2^2^2=2^(2^2)是数学家定的规则; 第二, 写bc类的程序请参考任何一本编译原
理的书, 这是最基本的语法分析.

【在 s****m 的大作中提到】
: 是的,我是考虑写类似bc的计算器程序。
: 但是用stack有一个问题:那样1-2-3就是2而不是-4了。
: 这里减号是left associative的。
: 因为+,-,x,/都是left associative的,只有^不是,这种
: 不一致是我最初问这个问题的原因。当然如果是数学家定的
: 规则,我也没什么可说的。

x****u
发帖数: 44466
8
你找个计算器玩一下就知道了。

【在 s****m 的大作中提到】
: 是的,我是考虑写类似bc的计算器程序。
: 但是用stack有一个问题:那样1-2-3就是2而不是-4了。
: 这里减号是left associative的。
: 因为+,-,x,/都是left associative的,只有^不是,这种
: 不一致是我最初问这个问题的原因。当然如果是数学家定的
: 规则,我也没什么可说的。

1 (共1页)
进入Programming版参与讨论
相关主题
Scala的operator似乎不太好读c++ 里面 @ 不能 overload?
mxnet/tf的一个比较blog为啥 c++ bit operation的优先级这么低
how to print 2 exponential digits in windows by using Perla c++ question
shortest path algorithm(dijkstra)的变形[合集] some file operation questions
C++ code explanationoperator执行顺序
why copy assignment operator returns non-const type?[合集] ++ operator in C
What is the exponential operator for C++?ambiguous operators in c++
问两个问题,C++a C question
相关话题的讨论汇总
话题: operator话题: right话题: 为什么