Forum: Mikrocontroller und Digitale Elektronik Alte Taschenrechner Potenzierung mit negativer Basis


von Philipp S. (nokia9300i)


Lesenswert?

Ich bin schon seit ein paar Jahren ziemlicher Fan der UPN und somit 
HP-Taschenrechner...

DAs Modell mit dem ich eingestiegen bin ist der HP25, ein meiner Meinung 
nach sehr praktischer und toller Rechner! Jetzt ist mir etwas 
aufgefallen:

Möchte z. B. (-3)^2 rechnen so bekomme ich statt dem Ergebnis 9 einen 
Error angezeigt. Ich frag mich nun warum das so ist, denn wenn ich 
(-3)*(-3) rechne, dann bekomme ich ja auch das Ergebnis 9. Im 
spezielleren würde mich daher interessieren, wie die "Potenz-Funktion" 
vom Rechner durchgeführt wird, für mich wäre eine 
"Selbst-Multiplikation" der Zahl (bis zum erreichen der gewünschten 
Anzahl an "Selbst-Multiplikationen") die logische Schlussfolgerung, dem 
scheint aber vermutlich nicht so zu sein...

Meine Kenntnisse in der Digitaltechnik beschränken sich bisweilen auf 
die Logik-Gatter und 4 der häufigsten Flip-Flops (RS-FF, D-FF, T-FF, 
JK-FF),
natürlich auch die Entwicklung dieser FF aus Wahrheitstabellen wahlweise 
mit nur NAND- oder NOR Gattern haben wir erlernt...

Rechenschaltung haben wir in der Schule bis jetzt nur eine 
kennengelernt: Parallel-Addition aus Halb- und Volladdieren, die 
Serielle Addition folgt dieses Jahr...

Letztens haben wir im Werkstättenunterricht einen Asynchron-Zähler aus 
zwei CD4013BM "entwickelt"... Das ist aber auch schon alles...

Hat da jemand Lust und Wissen, mir das zumindest grob zu erklären?

Vielen Dank! :-)

PS: Es steht auch im Handbuch, dass ein Error durch die Potenzierung 
einer negativen Zahl/Basis hervorgerufen werden kann, dies ist auch beim 
HP41 und dem TI59 so. Bei neueren Rechnern wie meinem HP35s ist dies 
kein Problem...

von Stefan F. (Gast)


Lesenswert?

Vergiss mal deine Flipflops. Schon die ersten Taschenrechner waren 
programmierte Mikrocontroller. Das wird einfach eine Einschränkung des 
Programms sein.

von Helmut S. (helmuts)


Lesenswert?

Der HP11C kann das.

(-3)^2 = 9

(-3)^3 = -27

Hast du auch die Funktion y^x verwendet?

3
ENTER
CHS
2
ENTER
y^x

: Bearbeitet durch User
von Dr. Sommer (Gast)


Lesenswert?

Vielleicht wird bei diesem Taschenrechner ausgenutzt, dass
Und dann die Potenz über die Exponentialfunktion und Logarithmus 
berechnet. Das funktioniert natürlich nicht mit a negativ. Man hätte 
dann noch einen Sonderfall für a negativ und b ganzzahlig machen können, 
hat man aber aus irgendwelchen Gründen nicht.

von Axel S. (a-za-z0-9)


Lesenswert?

Philipp S. schrieb:

> DAs Modell mit dem ich eingestiegen bin ist der HP25

> Möchte z. B. (-3)^2 rechnen so bekomme ich statt dem Ergebnis 9 einen
> Error angezeigt. Ich frag mich nun warum das so ist, denn wenn ich
> (-3)*(-3) rechne, dann bekomme ich ja auch das Ergebnis 9.

Wenn du die "Quadrieren" Funktion verwendet hättest, dann hättest du 
auch dieses Ergebnis erhalten.

> spezielleren würde mich daher interessieren, wie die "Potenz-Funktion"
> vom Rechner durchgeführt wird, für mich wäre eine
> "Selbst-Multiplikation" der Zahl (bis zum erreichen der gewünschten
> Anzahl an "Selbst-Multiplikationen") die logische Schlussfolgerung

Das funktioniert so nur für ganzzahlige Exponenten. Die allgemeine 
Potenzierungsfunktion kann aber beliebige Exponenten. Bspw. X^0.5 für 
die Wurzel aus X. Aber auch bspw. 12.37^0.815 ...

> Hat da jemand Lust und Wissen, mir das zumindest grob zu erklären?

Allgemeine Potenzierung macht man typisch über den Logarithmus:

a^b = exp(ln(a) * b)

Die Logarithmusfunktion ist aber nur für positive Zahlen definiert. 
Deswegen wirft ln(a) für negative a einen Fehler.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Es gibt einen OpenSource-Taschenrechner, den man entsprechend erweitern 
könnte. Basierend auf einem STM32F412 (1 MB Flash, 256 kB SRAM, 100 MHz) 
und mit vollständigen Sourcen (auch Schaltplänen und STL-Dateien fürs 
Gehäuse) ist das Ding wohl eine gute Grundlage, eigene Ideen umzusetzen.
Mit 80 EUR spielt das Ding allerdings jenseits der 
China-Billig-Import-Liga.

Aber: Das ist keine unfertige Machbarkeitsstudie, sondern ein real 
existierendes und ganz anständig verarbeitetes Produkt.

Wer Python mag, kann sich damit auch austoben, das Gerät versteht 
Python.

https://www.numworks.com/

von H.Joachim S. (crazyhorse)


Lesenswert?

Dann sollte es aber als Fehler angezeigt werden und nicht als falsches 
Scheinergebnis.

Konnte mich mit UPN nie anfreunden, aber das ist sicher eine Folge der 
ersten Prägung.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

H.Joachim S. schrieb:
> Konnte mich mit UPN nie anfreunden, aber das ist sicher eine Folge der
> ersten Prägung.

Ich glaube auch, daß beim Erstkontakt zu einem Taschenrechner eine Fuse 
im Hirn gebrannt wird, die einen dauerhaft prägt.

Die einen kommen später mit stackorientierten Programmiersprachen wie 
Forth oder PostScript bestens zurecht (und räumen ihre Wohnungen in 
Extremfällen vergleichbar strukturiert auf), und die anderen, wie in 
binären Systemen üblich, halt nicht.

von Jemand (Gast)


Lesenswert?

Wieso kann mein HP-Rechner den Logarithmus einer negativen Zahl nehmen, 
meine dämlichen Casio-Rechner aber nicht?

von Andreas Müller (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Es gibt einen OpenSource-Taschenrechner, den man entsprechend erweitern
> könnte. Basierend auf einem STM32F412 (1 MB Flash, 256 kB SRAM, 100 MHz)
> und mit vollständigen Sourcen (auch Schaltplänen und STL-Dateien fürs
> Gehäuse) ist das Ding wohl eine gute Grundlage, eigene Ideen umzusetzen.
> Mit 80 EUR spielt das Ding allerdings jenseits der
> China-Billig-Import-Liga.

Naja, also mein 14€ China Billig Import:
https://www.aliexpress.com/item/2017-new-Original-HP39gs-Graphing-calculator-Function-calculator-for-HP-39gs-Graphics-Calculator/32816984882.html

ist so schlecht nicht. Kann halt nur kein RPN.

von Dr. Sommer (Gast)


Lesenswert?

Jemand schrieb:
> Wieso kann mein HP-Rechner den Logarithmus einer negativen Zahl nehmen,
> meine dämlichen Casio-Rechner aber nicht?

Der reelle Logarithmus ist auf negativen Zahlen nicht definiert. 
Vielleicht beherrscht der HP-Rechner aber den komplexen Logarithmus.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Andreas Müller schrieb:
> Naja, also mein 14€ China Billig Import:

Ich bezog mich auf den Preis, nicht auf die Leistungsfähigkeit.

Andererseits gibt es von Deinem 14-EUR-HP recht sicher weder Schaltpläne 
noch die Sourcen, oder?

von Roland F. (rhf)


Lesenswert?

Hallo,
Dr. Sommer schrieb:
> Der reelle Logarithmus ist auf negativen Zahlen nicht definiert.
> Vielleicht beherrscht der HP-Rechner aber den komplexen Logarithmus.

Zumindest der HP50g kann das.

rhf

von Wolfgang (Gast)


Lesenswert?

Philipp S. schrieb:
> Möchte z. B. (-3)^2 rechnen so bekomme ich statt dem Ergebnis 9 einen

Mit (-3)^2.1 hat er dann wahrscheinlich genauso Schwierigkeiten.
Vielleicht berücksichtigt er einfach nicht den Sonderfall ganzzahliger 
Exponenten und kann nicht mit komplexen Zahlen umgehen.

von Andreas Müller (Gast)


Lesenswert?

Roland F. schrieb:
> Hallo,
> Dr. Sommer schrieb:
>> Der reelle Logarithmus ist auf negativen Zahlen nicht definiert.
>> Vielleicht beherrscht der HP-Rechner aber den komplexen Logarithmus.
>
> Zumindest der HP50g kann das.


Der 39gs und 42s auch.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wolfgang schrieb:
> Mit (-3)^2.1 hat er dann wahrscheinlich genauso Schwierigkeiten.

Der von mir erwähnte Numworks-Rechner gibt 9.553466 + 3.104109i aus.

von bingo (Gast)


Lesenswert?

Hab noch 2 Antworten:
ein 10-Euro-rechner von Aldi bringt eine error-meldung, ebenso python:
1
>>> a=(-3)**2.1
2
Traceback (most recent call last):
3
  File "<stdin>", line 1, in <module>
4
ValueError: negative number cannot be raised to a fractional power
5
>>>

von bingo (Gast)


Lesenswert?

python3 kann es:
1
>>> a=(-3)**2.1
2
>>> a
3
(9.553465958876773+3.1041092573296494j)
4
>>>

von Reinhard R. (reirawb)


Lesenswert?

Also, ich habe mal meine vorhandene Hardware befragt.
Ist zwar kein HP und auch kein UPN-Rechner dabei, aber mal zum 
Vergleich...

TI-74 von ca. 1985 (Basic-Pocketcomputer)
-3^2 mit der x^2-Funktion = 9
-3^2 mit der y^x-Funktion = 9
-3^3 mit der y^x-Funktion = -27
-3^2,1 mit der y^x-Funktion = Error

SHARP PC-1401 (Basic-Pocketcomputer)
-3^2 mit der x^2-Funktion = 9
-3^2 mit der y^x-Funktion = 9
-3^3 mit der y^x-Funktion = -27
-3^2,1 mit der y^x-Funktion = Error

Privileg LC814PR von ca. 1984 (Programmierbarer Taschenrechner)
-3^2 mit der x^2-Funktion = 9
-3^2 mit der y^x-Funktion = Error

Reinhard

: Bearbeitet durch User
von Dr. Sommer (Gast)


Lesenswert?

Wer kauft überhaupt Taschenrechner... Die Wolfram Alpha App kostet 3,09€ 
und kann quasi alles berechnen was mit Zahlen zu tun hat... Normale 
Taschenrechner-Funktionen auch offline, komplizierteres per Cloud. Das 
Smartphone hat man eh immer dabei... Ist m.M.n auch sinnvoller als 
wissenschaftliche Taschenrechner-Apps - die guten kosten auch Geld, und 
da kann man auch den 1€ mehr für Wolfram ausgeben was dann noch viel 
mehr kann.

von LostInMusic (Gast)


Lesenswert?

>Der von mir erwähnte Numworks-Rechner gibt 9.553466 + 3.104109i aus.

Und bei (-3)^2.2 gibt er

aus, obwohl das falsch ist, denn

Dieses stylisch-weiße Ding scheint mir sehr dubios zu sein.

von Neverever (Gast)


Lesenswert?

Dr. Sommer schrieb:
> Wer kauft überhaupt Taschenrechner... Die Wolfram Alpha App kostet 3,09€
> und kann quasi alles berechnen was mit Zahlen zu tun hat... Normale
> Taschenrechner-Funktionen auch offline, komplizierteres per Cloud. Das
> Smartphone hat man eh immer dabei... Ist m.M.n auch sinnvoller als
> wissenschaftliche Taschenrechner-Apps - die guten kosten auch Geld, und
> da kann man auch den 1€ mehr für Wolfram ausgeben was dann noch viel
> mehr kann.


Die App für den besten HP-Rechner (HP42s) ist kostenlos ;)
https://play.google.com/store/apps/details?id=com.thomasokken.free42&hl=de

von Wolfgang (Gast)


Lesenswert?

LostInMusic schrieb:
> ... aus, obwohl das falsch ist, denn
> (−3)2.2=(−3)2210=((−3)22)110=31381059609110=11.211578...
> (-3)^{2.2} = (-3)^{\frac{22}{10}} = \Big((-3)^{22}\Big)^{\frac{1}{10}} =
> 31381059609^{\:\frac{1}{10}} = 11.211578...
>
> Dieses stylisch-weiße Ding scheint mir sehr dubios zu sein.

Das Kapitel über Vertauschbarkeit von Rechenoperationen solltest du dir 
noch mal angucken ...

von LostInMusic (Gast)


Lesenswert?

Welche Rechenoperationen soll ich denn unzulässigerweise vertauscht 
haben?

von Yalu X. (yalu) (Moderator)


Lesenswert?

LostInMusic schrieb:
> Welche Rechenoperationen soll ich denn unzulässigerweise vertauscht
> haben?

Ich mache mal einen ähnlichen Fehler wie du:

Wozu braucht man überhaupt komplexe Zahlen, wenn i=1 ist? ;-)

Aber lies mal hier:

https://de.wikipedia.org/wiki/Potenz_(Mathematik)#Potenzgesetze

von Jemand (Gast)


Lesenswert?

Dr. Sommer schrieb:
> Wer kauft überhaupt Taschenrechner... Die Wolfram Alpha App kostet
> 3,09€ und kann quasi alles berechnen was mit Zahlen zu tun hat...
> Normale Taschenrechner-Funktionen auch offline, komplizierteres per
> Cloud. Das Smartphone hat man eh immer dabei... Ist m.M.n auch
> sinnvoller als wissenschaftliche Taschenrechner-Apps - die guten kosten
> auch Geld, und da kann man auch den 1€ mehr für Wolfram ausgeben was
> dann noch viel mehr kann.

Wenn dein Rechenbedarf das Einmaleins kaum übersteigt, mag das reichen. 
Wenn man vor der krampfartigen Eingabe mal absieht, bleibt immer noch 
das Problem, dass WA bei komplizierteren Sachverhalten auch gerne mal 
totalverweigert, wenn die Internetanbindung mal zufällig nicht fehlt.

von Dr. Sommer (Gast)


Lesenswert?

Jemand schrieb:
> dass WA bei komplizierteren Sachverhalten auch gerne mal
> totalverweigert, wenn die Internetanbindung mal zufällig nicht fehlt.

Welche Dinge sind das denn, welche ein echter Taschenrechner aber kann?

von Bernd K. (prof7bit)


Lesenswert?

Rufus Τ. F. schrieb:
> Die einen kommen später mit stackorientierten Programmiersprachen wie
> Forth oder PostScript bestens zurecht (und räumen ihre Wohnungen in
> Extremfällen vergleichbar strukturiert auf)

Naja, ich zum Beispiel benutze weder UPN-Taschenrechner noch Forth noch 
schreib ich PostScript von Hand aber auch ich neige sehr stark dazu 
Sachen einfach übereinander zu stapeln wenn der Platz knapp wird. Und 
alles was mit Dingen zu tun hat die weiter unten liegen wird auf später 
verschoben.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Bernd K. schrieb:
> auch ich neige sehr stark dazu Sachen einfach übereinander zu stapeln
> wenn der Platz knapp wird. Und alles was mit Dingen zu tun hat die
> weiter unten liegen wird auf später verschoben.

Das wiederum ist die hohe Kunst der Prokrastination:

Was Du morgen kannst verschieben, lass' übermorgen auch noch liegen.

von LostInMusic (Gast)


Lesenswert?

>Wozu braucht man überhaupt komplexe Zahlen, wenn i=1 ist? ;-)

Das wüsste ich auch mal gerne (auch wenn i natürlich nicht gleich 1 ist, 
sondern das, womit man pi multiplizieren muss, damit e^pi statt 23.14 
den Wert -1 hat). Speziell unter diesen imaginären Einheiten konnte ich 
mir nie wirklich etwas vorstellen.

Aber danke für den Hinweis auf den Fehler in meiner Rechnung :-)

von Dr. Sommer (Gast)


Lesenswert?

LostInMusic schrieb:
> Speziell unter diesen imaginären Einheiten konnte ich
> mir nie wirklich etwas vorstellen.

Ist eigentlich ganz einfach; man stelle sich die komplexe Zahlenebene 
eben als Ebene vor (mit x/y-Richtungen), nicht nur als Strahl. Jedes 
Element auf der Ebene ist dann ein 2-dimensionaler Vektor, also z.B. 
(3,7) oder (-2,3.4). Den Einheitsvektor (1,0) lässt man üblicherweise 
nach rechts zeigen und nennt den auch einfach "1". Den Einheitsvektor 
(0,1) nennt man aus historischen Gründen "i" und lässt ihn nach oben 
zeigen. Die (3,7) notiert man als "3+7*i". Dies ist einfach nur eine 
Linearkombination der beiden Vektoren, also das Gleiche wie 
3*(1,0)+7*(0,1) - wie in der Schule in linearer Algebra gelernt.
Jeder reellen Zahl x ordnet man die komplexe Zahl (x,0) zu, d.h. der 
klassische Zahlenstrahl ist die "X-Achse". Dann definiert man sich noch 
die Multiplikation und Division und erhält ein System in welchem 
Kommutativität, Assoziativität und Distributivität erhalten bleiben und 
man (fast) genau so rechnen kann wie bekannt. Mit so Gedanken-Krücken 
wie Sqrt(-1) muss man sich bis hier überhaupt nicht befassen. Man kann 
"i" auch komplett weglassen und alles als Vektor-Schreibweise (ala (a,b) 
mit a,b reell) notieren; dies macht einiges klarer, ist aber mehr 
Schreibarbeit.

Eine weitere hilfreiche Vorstellung: Man nehme sich eine Senkrechte in 
der Zahlenebene, d.h. die Zahlenmenge (x,y) für ein fixes x und alle y 
(beide reell). Bildet man diese Menge mit der exp-Funktion ab, erhält 
man einen Kreis mit Radius exp(x) und Mittelpunkt (0,0). Der wichtigste 
Fall hiervon ist x=0, also die Y-Achse. Wird diese per exp() abgebildet, 
erhält man den Einheitskreis. Die Abbildung ist immer periodisch, d.h. 
wiederholt sich alle 2*pi.

Anders formuliert:
Dann ist K_x ein Kreis mit Radius exp(x).

von Richard H. (richard_h27)


Lesenswert?

Dr. Sommer schrieb:
> Ist eigentlich ganz einfach

Sagen wir mal so: Der andere Dr. Sommer konnte mir seinen Stoff besser 
vermitteln.

von Alexander S. (esko) Benutzerseite


Lesenswert?

In Ergänzung zu Dr. Sommer noch ein paar Beispiele.
Man möge mich korrigieren, wenn ich falsch liege, ich bin kein 
Mathematiker.

Der Kern liegt darin, dass 1² = 1 und (-1)²=1.

Es gibt also eigentlich zwei Lösungen für 1^(1/2) = {+1, -1}.

Ebenso für (-1)^(1/2) = {+i, -i}.

Man muss sich diese Lösungen verdeutlichen indem man eine komplexe 
Zahlenebene auf einem Stück Papier zeichnet und dort die Lösungen als 
Punkte einmalt. Alle Lösungen liegen auf einem Kreis. In den hier 
gewählten Beispielen ist es der Einheitskreis.

Für 1^(1/3) ergeben sich 3 Lösungen:
1^(1/3) = {+1,-sin(Pi/6) -i*cos(Pi/6), -sin(Pi/6) +i*cos(Pi/6)}

Auf dem Einheitskreis liegen diese bei 0°, +120°, -120°

Man kann sich die Lösungen auch schön aufmalen lassen:
https://www.wolframalpha.com/input/?i=1%5E(1%2F3)


Da viele Potenzgesetze nicht für komplexe Zahlen gelten, darf man die 
Gleichung nicht so umformen, wie du (LostInMusic) es gemacht hast. Um 
Verwirrung zu vermeiden ist übrigens ist das Ergebnis aus einer Wurzel 
oft definiert als immer positiv.
D.h. √1 = +1 und damit √1 ≠ 1^(1/2)

von S. R. (svenska)


Lesenswert?

Dr. Sommer schrieb:
> Die Wolfram Alpha App kostet 3,09€
> und kann quasi alles berechnen was mit Zahlen zu tun hat...

...dafür ist sie im Abitur nicht zugelassen und selbst auf Arbeit 
hantiere ich gerne mit einem Casio-Rechner aus Schultagen, anstatt auf 
einem Display rumzutatschen.

Gut, wenn es hexadezimal wird, läuft auch öfter ein "bc -l" im Terminal.

von Dr. Sommer (Gast)


Lesenswert?

Bei mir im Abitur war überhaupt kein Taschenrechner zugelassen...

Auf Arbeit habe ich einen Computer, da kann ich auch WolframAlpha.com 
oder Mathematica nehmen. Der Gnome Taschenrechner ist für Hex/Bin 
Spielchen auch nett. Da kann ich dann auch Copy&Paste machen und muss es 
nicht abtippen...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.