Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Evrey

Treue Seele

Beiträge: 245

Beruf: Weltherrscher

  • Private Nachricht senden

41

25.10.2015, 23:48

Zitat

Das ist überhaupt nicht esoterisch. Du glaubst doch nicht, dass du in deiner Software keine Ganzzahlen hast, die größer als 32737 sind.
Mal davon ab, dass mir bis auf µController noch keine Hardware unterlaufen ist, bei der ints weniger als 4 Bytes messen, würde mir zumindest nur ein Fall einfallen, in dem ich größere Werte kenne/verwendete: HP von gewissen Gegnern und der Kontostand in RPGs. Habe ich schonmal mehr als 4 Bytes gebraucht? Höchstens in Form von size_t oder intptr_t, wo ich aber selten den konkreten Wert wissen musste.

Zitat

Naja, man könnte ihn schon als long oder int_fast32_t speichern.
Es gibt Menschen, die int_fastXX_t verwenden? ôO

Zitat

Dot.Net speichert Zeitspannen als Vielfaches von 100 Nanosekunden.
Das macht dein Alter in Tagen nicht zu einem besseren Beispiel. Man könnte natürlich das Geburtsdatum mit time_t oder sowas abspeichern, jedoch nur um das aktuelle Alter in Jahren zu errechnen. (Mir ist noch kein Amt unter die Augen gekommen, das nach dem Alter in Jahres-Bruchteilen zu Buche schlägt.) Und das Alter in Jahren wäre es, was du als int weiterreichen kannst. (Mit der Verwendung von signed int kann man im paranoiden Fall sogar sehr portabel Overflows erfassen.) Ein Byte könnte dafür durchaus zu klein geraten, wenn die Wissenschaft wieder tolle Sachen treibt, aber mehr als 2 Bytes, also das Minimum von int, wirste auch nicht brauchen. 32767 Jahre ist ein Alter, das erstmal deine Software erreichen müsste, und weit unwahrscheinlicher zu erreichen ist als der Y2K-Patzer. Du würdest auch nicht mehr als 2 Bytes für ein Alter brauchen, wenn du die Geburtstage der Sterne unserer umliegenden Galaxien oder verschiedener Dinosaurier verwalten willst. Wenn du Glück hast, kannst du auf 1 000 000 Jahre genau schätzen. Nimm das als 1, und du kannst mit 2 Bytes bis 32 767 000 000 Jahre vor Christus zählen, also weit vor die Entstehung des Universums nach der Urknall-Theorie und weit über die Lebenszeit unseres Sonnensystems hinaus.

Anders gesagt: Das bisher einzige Argument "gegen" int ist die Falsch-Verwendung als intptr_t/size_t-Ersatz, sowie Sonderfälle wie Serialisierung und FFI. Und falls das nicht rauszulesen ist: Das ist kein gutes Gegenargument. Eher ein RTFM-Argument an die Verursacher solcher Patzer.


P.S.:

Zitat

Zum Beispiel bei meinen Höhendaten, von denen ich vorher sprach war das ein wichtiger Teil für die Entscheidung für den Datentyp und es geht durchaus insgesamt um hunderte von MB, die gespart werden.
... du brauchst Höhendaten bis 2 150Km? Andernfalls scheint es mir, als könntest du locker noch mehr Speicher einsparen. Zumal ein solcher Spezialfall wohl kaum als Argument für den Regelfall herhalten kann.

P.P.S.:

Zitat

Wenn die Verwendung von int nicht hinterfragt werden darf und das einfach so sein muss, wird es zwecklos.
Ich wurde nicht dafür verwarnt und ausgesperrt, int32_t als "tut nicht weh" zu verteidigen? Es überwiegen schlicht die besseren Argumente pro int.

C-/C++-Quelltext

1
2
3
4
int main(int _argc, char** _argv) noexcept {
  asm volatile("lock cmpxchg8b %eax");
  return 0;
} // ::main
(Dieses kleine Biest vermochte einst x86-Prozessoren lahm zu legen.)

=> Und er blogt unter Hackish.Codes D:

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

42

26.10.2015, 06:42

Das ursprüngliche Thema wurde ohnehin als Troll-Versuch abgestempelt und war schon auf der ersten Seite erledigt. Schon nach meiner ersten Antwort ehrlich gesagt.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]