在lisp中为符号指定负值

在lisp中为符号指定负值,lisp,clisp,Lisp,Clisp,我对lisp非常陌生,我正在研究基本语法。我正在尝试转换: r1=(-b+sqrt(b^2-4*a*c))/(2*a) 转换为lisp格式。我认为我唯一的问题是,我无法让lisp将-b识别为符号b的负值。这就是我到目前为止从lisp提示符得到的信息: [17]> (setq a 1L0) 1.0L0 [18]> (setq b -1L0) -1.0L0 [19]> (setq c -1L0) -1.0L0 [20]> (setq r1 (+ (/ (sqrt (- (po

我对lisp非常陌生,我正在研究基本语法。我正在尝试转换:
r1=(-b+sqrt(b^2-4*a*c))/(2*a)
转换为lisp格式。我认为我唯一的问题是,我无法让lisp将-b识别为符号b的负值。这就是我到目前为止从lisp提示符得到的信息:

[17]> (setq a 1L0)
1.0L0
[18]> (setq b -1L0)
-1.0L0
[19]> (setq c -1L0)
-1.0L0
[20]> (setq r1 (+ (/ (sqrt (- (power b 2) (* (* 4 a) c))) (* 2 a)) -b))

*** - EVAL: variable -B has no value
The following restarts are available:
USE-VALUE      :R1      You may input a value to be used instead of -B.
STORE-VALUE    :R2      You may input a new value for -B.
ABORT          :R3      Abort main loop
使用

否定b。相当于

(- 0 b)

好的,谢谢,因为首先我设置了另一个符号-b等于1L0,只是为了否定b。它起作用了,但我得到的答案与我把所有东西都插入TI计算器时得到的答案不一样。现在也得到了相同的答案,我使用(-b)时,我设置-b否定b。我设置r1的语法正确吗?试试(/((sqrt(-(expt b 2)(*4 a c)))b)(*2 a))它工作了!谢谢虽然我需要在你的方法中使b为负值,但是非常感谢你!
(- 0 b)