О приоритетах-2

Jan 10, 2024 13:28


Оказывается, в Microsoft Excel приоритет унарного минуса выше всего на свете, и поэтому -x*x - это (-x)*(x), а -x^2 - это (-x)^2, то есть результаты закономерно разные. john-jack утверждает, что это вообще всегда так и должно быть очевидно каждому программисту, но мой опыт протестует.
Давайте проверим.
Для начала - легендарный GW-BASIC, из которого вырос ( Read more... )

бред, excel, ЭВМ, обмен опытом

Leave a comment

hardsign January 10 2024, 15:59:32 UTC
Эх, никто не комментирует, буду сам развлекаться:

C:
#include
int main()
{
int x = 2;
printf("-x*x = %d, -x^2 = %d\n",-x*x,-x^2);
}Одинаково

FORTRAN:
program hello
integer x
x = 2
print *, -x*x, -x**2
end program helloОдинаково

Lua:
x = 2; print (-x*x, -x^2)Одинаково, только степенной оператор превращает число в вещественное

Rust:
fn main() {
let x = 2i32;
println!("-x*x = {}, -x^2 = {}",-x*x,-x^2);
}Одинаково

Go:
package main
import "fmt"

func main() {
var x int = 2;
fmt.Printf("-x*x = %d, -x^2 = %d\n",-x*x,-x^2)
}Одинаково

VB.NET:
Public Module Program
Public Sub Main(args() As string)
dim x as Integer
x = 2
Console.WriteLine("-x*x = "&str$(-x*x)&", -x^2 = "&str$(-x^2))
End Sub
End ModuleОдинаково

COBOL:
IDENTIFICATION DIVISION.
PROGRAM-ID. MULTIPLICATION-VS-EXPONENTATION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 X PIC S9(6).
01 XX PIC S9(6).
01 XS PIC S9(6).
PROCEDURE DIVISION.
MOVE 2 TO X
COMPUTE XX EQUAL - X * X
COMPUTE XS EQUAL - X ** 2
DISPLAY '-X*X = ',XX,', -X^2 = ',XS
STOP RUN.А вот тут - минус и плюс

Reply


Leave a comment

Up