Rechenoperator Schalter: Negativ / Positiv ?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Condor
Mitglied
Beiträge: 221
Registriert: 27.02.2002 01:00
Wohnort: Ahlen

Rechenoperator Schalter: Negativ / Positiv ?

Beitrag von Condor »

Hi,

gibt es eine einfache Methode einer negativen Zahl das Minus wegnzunehmen und sie somit zu einer positiven Zahl zu machen ?
Gibt es vielleicht einen Rechen Operator/Befehl (+/-) wie auf einem Taschenrechner ?

Ich hoffe jemand hat das verstanden was ich meine :-)

Mfg
Condor
Benutzeravatar
rox²³
Mitglied
Beiträge: 347
Registriert: 24.07.2003 15:18
Wohnort: Schmölln
Kontaktdaten:

Beitrag von rox²³ »

In welcher Beziehung?
php oder wo?
nkler
Mitglied
Beiträge: 28
Registriert: 08.05.2005 18:29
Wohnort: Neuenkirchen
Kontaktdaten:

Beitrag von nkler »

Das würde mir spontag für php einfallen.

Code: Alles auswählen

 if ( $zahl < 0 ) { $zahl = $zahl * -1; }
mr.no-name
Mitglied
Beiträge: 1883
Registriert: 20.10.2003 12:07
Wohnort: Hannover

Beitrag von mr.no-name »

Bei PHP (und sicherlich auch anderen Script-/Programmiersprachen) gehts auch mit der abs() Funktion...
Was jetzt sinnvoller bzw. performanter ist weiß ich nicht.
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Ich würde auf jeden Fall immer die PHP-internen Funktionen verwenden, da die im Gegensatz zu selbst geschriebenen besser optimiert sind (bei internen Funktionen ist auch mehr Optimierung möglich).
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

All zu viel kann man bei ($zahl >= 0 ? $zahl : -$zahl) aber nicht optimieren :roll: .
KB:knigge
rocknix
Mitglied
Beiträge: 29
Registriert: 10.03.2006 15:45

Beitrag von rocknix »

Pyramide hat geschrieben:All zu viel kann man bei ($zahl >= 0 ? $zahl : -$zahl) aber nicht optimieren :roll: .
grundsätzlich kann man aber das vorzeichen - zumindest das eines integers -auch durch bit-operatoren ausblenden. das dürfte dann wohl doch um einiges schneller sein, als eine if-abfrage.

Code: Alles auswählen

int_abs = int_signed & 0x7fffffff
was anderes macht abs() übrigens auch nicht ( bei integer argumenten)
rkern
Mitglied
Beiträge: 139
Registriert: 01.02.2005 11:49
Wohnort: Hanau
Kontaktdaten:

Beitrag von rkern »

rocknix hat geschrieben:

Code: Alles auswählen

int_abs = int_signed & 0x7fffffff
was anderes macht abs() übrigens auch nicht ( bei integer argumenten)
funktioniert leider so nicht auf den gängigsten Prozessoren (z.B. Intel x86).

siehe http://en.wikipedia.org/wiki/Two%27s_complement

Da die Darstellung negativer Zahlen abhängig von deiner CPU ist, kannst DU nicht mit Bit-Operatoren arbeiten und portabel bleiben.

mfg Ralph
Alturo-Forum Das unabhängige Forum für alle Root-Server und Web-Master auf Linux-Systemen
Patrik
Mitglied
Beiträge: 208
Registriert: 23.04.2005 13:30
Wohnort: Hallein

Beitrag von Patrik »

REicht es nicht einfach mir -1 zu multiplizieren, falls eine funktion wie abs() nicht zur verfügung steht?
Die 3 größten Feinde eines Programmierers: Sonnenlicht, Frischluft und das unerträgliche Gebrüll der Vögel...
Jede Beseitigung eines Programmfehlers ruft Zwei neue hervor.
Condor
Mitglied
Beiträge: 221
Registriert: 27.02.2002 01:00
Wohnort: Ahlen

Beitrag von Condor »

Erstmal ein Dankeschön an alle Beteiligten.

Da muss ich rkern recht geben.

Ich dachte nämlich, das PHP vielleicht eine eigene Funktion bzw. Operator dafür hat, den ich noch nicht kenne.

Scheinbar ist das nicht so.

Aber wir schon einige von euch gepostet haben, kann man ja eine Formel dafür bauen :-)

Mfg
Condor
Antworten

Zurück zu „Coding & Technik“