Ist es das Gleiche? Wenn nein: Was ist der Unterschied? Wenn ja, warum brauchen Sie diesen Typ?Was ist der Unterschied zwischen einem Uint32 und einem unsigned Int in C++?
Antwort
uint32_t
(oder aber Pre-C++ 11 Compiler nennen es) ist garantiert eine 32-Bit-Ganzzahl ohne Vorzeichen; unsigned int
ist jede vorzeichenlose ganze Zahl, die der Compiler am liebsten unsigned int
aufruft, sofern sie die Anforderungen des Standards erfüllt (der eine minimale Reichweite von 0-65535 erfordert). Wie int
, unsigned int
ist typischerweise eine Ganzzahl, die für die aktuelle Architektur schnell zu manipulieren ist (normalerweise passt sie in ein Register), also wird sie verwendet, wenn eine "normale", schnelle Ganzzahl benötigt wird.
uint32_t
wird stattdessen verwendet, wenn Sie eine Ganzzahl mit exakter Breite, z. serialisieren in Datei, oder wenn Sie diesen exakten Bereich benötigen oder Sie sich darauf verlassen, dass ein vorzeichenloser Überlauf genau unter 2^32-1
erfolgt.
beispielsweise auf einem 16-Bit-Prozessor unsigned int
typischerweise 16 Bit breit sein, während uint32_t
wird haben 32 Bits breit zu sein.
Übrigens, wie @Marc Glisse wies darauf hin, während unsigned int
immer vorhanden ist, ist uint32_t
nicht zwingend - eine bestimmte Compiler Umsetzung nicht bereitstellen kann. Dies liegt hauptsächlich daran, dass nicht alle Plattformen einen solchen Typ leicht bereitstellen können (typischerweise DSPs mit seltsamen Wortgrößen).
Auch eine wird benötigt, um zu existieren und nicht die andere. –
@ user1511417: es macht keinen Sinn zu fragen, welche "a priori" besser ist - sie haben beide ihren Nutzen, wie in der Antwort beschrieben. –
@MarcGlisse: richtig, ich werde es der Antwort hinzufügen. –
- 1. Was ist der Unterschied zwischen 'int?' und 'int' in C#?
- 2. Was ist der Unterschied zwischen einem Streamwriter und einem Binarywriter?
- 3. Unterschied zwischen unsigned short int und unsigned short
- 4. Was ist der Unterschied zwischen Int32 und UInt32?
- 5. Was ist der Unterschied zwischen einem ViewModel und einem Controller?
- 6. Was ist der Unterschied zwischen einem Integrator und einem Tiefpassfilter?
- 7. Was ist der Unterschied zwischen einem Muster und einem Pfad?
- 8. Was ist der Unterschied zwischen einem Instanzinitialisierer und einem Konstruktor?
- 9. Was ist der Unterschied zwischen einem Index und einem Fremdschlüssel?
- 10. Was ist der Unterschied zwischen einem Controller und einem Service?
- 11. Was ist der Unterschied zwischen einem Key und einem KeySpec?
- 12. Was ist der Unterschied zwischen einem Algorithmus und einem Entwurfsmuster
- 13. Was ist der Unterschied zwischen einem RoutedCommand und einem RoutedUICommand?
- 14. Was ist der Unterschied zwischen einem Primärschlüssel und einem Ersatzschlüssel?
- 15. Was ist der Unterschied zwischen einem Anwendungscontroller und einem Anwendungskontext?
- 16. Was ist der Unterschied zwischen einem Domänenklassendiagramm und einem Designklassendiagramm?
- 17. Was ist der Unterschied zwischen einem Tupel und einem compressed_pair?
- 18. Was ist der Unterschied zwischen einem Klassendiagramm und einem Objektdiagramm?
- 19. Was ist der Unterschied zwischen einem Iterator und einem Generator?
- 20. Was ist der Unterschied zwischen einem Array und einem Objekt?
- 21. Was ist der Unterschied zwischen einem Tabellenindex und einem Ansichtsindex?
- 22. Was ist der Unterschied zwischen einem Nanokern und einem Exokernel?
- 23. Was ist der Unterschied zwischen einem Helfer und einem Teil?
- 24. Was ist der Unterschied zwischen einem Workflow und einem Flowchart?
- 25. Was ist der Unterschied zwischen int [] [] und int [,]?
- 26. was ist der Unterschied zwischen 'neuen()' int und 'int * p'
- 27. Was ist der Unterschied zwischen int ++ und ++ int?
- 28. Was ist der Unterschied zwischen int und C.int in go?
- 29. Unterschied zwischen Long und Int in C#?
- 30. Was ist der Unterschied zwischen Literalen und Variablen in C (signed vs unsigned short ints)?
http://StackOverflow.com/Questions/11786113/Difference-between-Different-Integer-Typen – Damon