2023-10-26, 15:16
  #121
Medlem
Citat:
Ursprungligen postat av lillkarsk
Ja d r det bara att starta rjset och hitta a b n som r strst.
Om a och b r strre n eller lika med 2 s r a * b >= a + b.
Citera
2023-10-27, 22:44
  #122
Citat:
Ursprungligen postat av SvenHelsing
Jag pratar inte om ngon inneboende rimlighet, utan enbart utifrn det faktum att potenstorn r vldefinierade.

Inte om det r s att betydelsen (a^b)^c naturligt uppkommer betydligt oftare n a^(b^c)

Trots allt r det liknande skl till att multiplikation har hgre prioritet n addition. Det r fr att slippa skriva s mycket parenteser.

Mitt resonemang utgr allts frn att det redan finns ett etablerat regelverk fr det hela. Det handlar inte utifrn om regelverket i sig r vettigt. Ett mer extremt exempel fr att tydliggra: Det kanske inte finns ngra inneboende egenskaper hos + och - som gr att + br betyda addition och - subtraktion, men du hller vl med om att det vore oerhrt mrkligt att skapa ett programmeringssprk dr man byter plats p dem? Eller fr den delen byta plats p betydelsen av "if" och "else"?




S r det, men to be fair r det en sak man fuskar friskt med i matematik ocks.

Sen har jag ju pratat om att man br flja konventioner, men det gr att applicera p andra saker ocks. Det finns en pong i att nr man definierar matematiska symboler i ett programmeringssprk s br det vara likt matematiken, men det finns ocks en pong i att programmeringssprk liknar varandra. Vilket iof ocks r ett argument som gr att anvnda fr att sga att a^b^c br betyda (a^b)^c, just eftersom det redan finns programmeringssprk som betyder s. S mitt resonemang r egentligen bara fullt ut applicerbart p de frsta programmeringssprken.
Tror jag har sttt p frgan om a^b^c betyder (a^b)^c eller a^(b^c) max 3 gnger under min lnga intensiva karrir och har inte lagt regeln p minnet. Det viktiga r att det finns i programsprkets dokumentation. Annars r det ganska ltt att prova.

Du har rtt att i om (a^b)^c naturligt uppkommer betydligt oftare n a^(b^c) s sparar man 2 bytes i programkoden p att skriva a^b^c istllet fr (a^b)^c om det r den konvention programsprket anvnder. Maskinkoden blir vl likadan oavsett. Men visst om du ska spara programkoden p en magnetremsa frn 1971 s sparar du ett par ren.
Citera
2023-10-28, 11:34
  #123
Citat:
Ursprungligen postat av lillkarsk
Tror jag har sttt p frgan om a^b^c betyder (a^b)^c eller a^(b^c) max 3 gnger under min lnga intensiva karrir och har inte lagt regeln p minnet. Det viktiga r att det finns i programsprkets dokumentation. Annars r det ganska ltt att prova.

Du har rtt att i om (a^b)^c naturligt uppkommer betydligt oftare n a^(b^c) s sparar man 2 bytes i programkoden p att skriva a^b^c istllet fr (a^b)^c om det r den konvention programsprket anvnder. Maskinkoden blir vl likadan oavsett. Men visst om du ska spara programkoden p en magnetremsa frn 1971 s sparar du ett par ren.
Maskinkoden blir lika ja. Fast i ett interpreterande sprk som basic s r det ven en prestandavinst.

Men sen vet jag ju inte om det verkligen fanns en motivering till att associativiteten blev som den blev. Det kan ju vara s enkelt att de behvde vlja och bara tog ngot. Dock vet jag att liknande beslut har tagits historiskt fr att spara minne. Och det har inte frmst med just lagringen p magnetremsa att gra, utan helt enkelt hur mycket koden tar upp i minnet vid kompilering. Den dator som var det frmsta mlet fr sprket C var en PDP-7 som hade ca 9kB minne. Varje byte rknades.

(Som referens kan nmnas att det hr inlgget tar upp 1360 bytes, dvs 15% av minnet i en PDP-7)
Citera
2023-10-28, 11:40
  #124
Medlem
Trevligt att en trd om aritmetik kan f s mnga inlgg.
Det gldjer mig 🙂
Citera
2023-11-30, 20:10
  #125
Citat:
Ursprungligen postat av SvenHelsing
Maskinkoden blir lika ja. Fast i ett interpreterande sprk som basic s r det ven en prestandavinst.

Men sen vet jag ju inte om det verkligen fanns en motivering till att associativiteten blev som den blev. Det kan ju vara s enkelt att de behvde vlja och bara tog ngot. Dock vet jag att liknande beslut har tagits historiskt fr att spara minne. Och det har inte frmst med just lagringen p magnetremsa att gra, utan helt enkelt hur mycket koden tar upp i minnet vid kompilering. Den dator som var det frmsta mlet fr sprket C var en PDP-7 som hade ca 9kB minne. Varje byte rknades.

(Som referens kan nmnas att det hr inlgget tar upp 1360 bytes, dvs 15% av minnet i en PDP-7)
Prestandavinst? Frklara!
Citera
2023-11-30, 20:11
  #126
Citat:
Ursprungligen postat av lillkarsk
Prestandavinst? Frklara!
Frre bytes som ska lsas
Citera
2023-11-30, 20:15
  #127
Citat:
Ursprungligen postat av SvenHelsing
Frre bytes som ska lsas
I s fall borde ngon slags kodning tillmpas. Till exempel erstta det vanligen frekommande ordet "PRINT" med ngot annat.
Citera
2023-11-30, 20:17
  #128
Citat:
Ursprungligen postat av lillkarsk
I s fall borde ngon slags kodning tillmpas. Till exempel erstta det vanligen frekommande ordet "PRINT" med ngot annat.
Sdant gjordes p C64-tiden
Citera
2023-11-30, 20:21
  #129
Citat:
Ursprungligen postat av SvenHelsing
Sdant gjordes p C64-tiden
Det kan jag tro.

Ja jag fr ge dig i princip rtt i den hr diskussionen att det kan ha varit s att tolkningen a^(b^c) eller (a^b)^c kan vara styrd av minneskapacitet. Men jag tror att det inte r s.
Citera
2023-11-30, 20:25
  #130
Citat:
Ursprungligen postat av lillkarsk
Det kan jag tro.

Ja jag fr ge dig i princip rtt i den hr diskussionen att det kan ha varit s att tolkningen a^(b^c) eller (a^b)^c kan vara styrd av minneskapacitet. Men jag tror att det inte r s.
Ja, som sagt s r det bara en hypotes.

En annan r att det kan ha bestmts fr att det ska bli lttare att skriva in nr man kodar.
Citera
2023-11-30, 20:28
  #131
Citat:
Ursprungligen postat av SvenHelsing
Ja, som sagt s r det bara en hypotes.

En annan r att det kan ha bestmts fr att det ska bli lttare att skriva in nr man kodar.
Ja det hnder ju vldigt ofta nr man sitter och kodar att man vill skippa paranteser nr man skriver (a^b)^c
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in