Zum Inhalt springen

Java VorzeichenVariable Datentyp


Empfohlene Beiträge

Geschrieben

Hallo zusammen,

ich hab hier eine Rundungsfunktion vorliegen, die ab und an ein Vorzeichen "umkehren" muss.

Nun ist diese Variable im Typ BigDecimal (aus historischen Gründen).

Jetzt will beim überarbeiten diese auf einen anderen Datentyp ändern.

Nun steh ich vor der Frage welcher ist am besten?

Die Variable kann nur den Wert 1 u. -1 annehmen.

Gibts da was spezielles? (Java 1.3.1)

Ich hätte jetzt nen int genommen... aber ist ja trotzdem noch überdimensioniert...

Gibts nen signed bit o.ä.?

Danke für alle Ideen,

Gruß,

Markus

Geschrieben
Die Variable kann nur den Wert 1 u. -1 annehmen.

Ich hätte ja boolean vorgeschlagen, denn das paßt am besten um 2 Zustände darzustellen. Nur in Java ist bool genau wie byte 8bit lang. Von daher ist es wahrscheinlich bequemer einfach Jaraz' Vorschlag Folge zu leisten.

Geschrieben

Naja, ich wollte ja -1 und 1 darstellen und nicht 0 und eins...

Damit kann man einfach das Vorzeichen einer Zahl ändern...

Boolean hätte ich dann ja wieder pro verwendung eine If-Case mehr drinne....

Gruß,

Markus

Geschrieben
Ich hätte jetzt nen int genommen... aber ist ja trotzdem noch überdimensioniert...

[...]

Boolean hätte ich dann ja wieder pro verwendung eine If-Case mehr drinne

Kann es sein, dass du ein bisschen viel an den falschen Stellen optimieren möchtest?
Geschrieben
Kann es sein, dass du ein bisschen viel an den falschen Stellen optimieren möchtest?

Naja schlecht ausgedrückt vielleicht...

Es geht ums handling

mit int


int i = 1;

if( a == 25) 7

  i = -1;

}

return c*i;

mit boolean

boolean i = true;

if( a == 25) 7

  i = false;

}

if ( i) 7

  return c;

} else {

  return c*-1;

}

Geschrieben
Naja schlecht ausgedrückt vielleicht...

Es geht ums handling

mit int


int i = 1;

if( a == 25) 7

  i = -1;

}

return c*i;

mit boolean

boolean i = true;

if( a == 25) 7

  i = false;

}

if ( i) 7

  return c;

} else {

  return c*-1;

}

Java erlaubt auch
i ? return c : return c*(-1);

Aber abgesehen davon gibst Du ja schonmal c zurück. Dank der Typwandlung von Java würde es Dir also absolut nichts bringen, einen Datentyp zu nehmen, der kleiner als Deine Rückgabe ist. Das ist wohl auch das, was perdi andeuten wollte. 1970 hätte Dir die Unterscheidung innerhalb der Methode wohl noch 'nen Performance-Schwung gebracht. Heute ist es aber wohl egal, ob Du temporär eine Variable mit 8 oder 16 oder auch 32 bit hast, um eine Vorzeichenumkehrung zu realisieren.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...