2016-06-01 4 views
0

ich viele der ganzen Zahlen in meinem Programm als UInt8 speichern, einen 0 mit - 255 Wertebereich. Später werde ich viele von ihnen summieren, um ein Ergebnis zu erhalten, das in einem Int gespeichert werden kann. Muss ich diese Konvertierung vornehmen, bevor ich die Werte von UInt8 zu Int den Zweck von mir benutze, einen kleineren Datentyp zu verwenden, um damit zu beginnen? Ich denke, es wäre schneller, nur Int zu verwenden, aber leiden einen größeren Speicherbedarf. Aber warum gehen Sie für UInt8, wenn ich mit vielen Umwandlungen konfrontiert werde, die Geschwindigkeit verringern und Speicher vergrößern. Gibt es etwas, das mir fehlt, oder sollten kleinere Datentypen wirklich nur mit anderen kleinen Datentypen verwendet werden?Konvertiert UInt8 (oder ähnliche Typen) zu Int den Zweck von UInt8?

Antwort

1

Sie sprechen ein paar Bytes pro Variable, wenn sie als UInt8 statt Int speichern. Diese Datentypen wurden sehr früh in der Computergeschichte entwickelt, als das Gedächtnis in den niedrigen KBs gemessen wurde. Sogar die Apple Watch hat 512 MB.

Hier ist, was Apple sagt, in den Swift Book:

Sofern Sie nicht mit einer bestimmten Größe von Integer arbeiten müssen, immer Int im Code für ganzzahlige Werte verwenden. Dies unterstützt die Konsistenz und Interoperabilität des Codes. Selbst auf 32-Bit-Plattformen kann Int einen beliebigen Wert zwischen -2.147.483.648 und 2.147.483.647 speichern und ist für viele Ganzzahlbereiche groß genug.

Ich benutze UInt8, UInt16 und UInt32 hauptsächlich in Code, der mit C. beschäftigt Und ja, hin und her Umwandlung ist ein Schmerz im Nacken.

Verwandte Themen