Wenn Sie einem int32-Wert einen int64-Wert zuweisen, führt der Compiler das automatisch für Sie aus (als Steven Sudit erwähnt):
%Vor%und weil der Compiler Warnungen anzeigen kann, können Sie den Cast festlegen
%Vor%Sie haben die Sprache nicht angegeben, aber in vielen Fällen müssen Sie sie nur in Int32 umwandeln. Die oberen Bits werden verworfen.
Sie könnten den Compiler die Endian-Ness behandeln lassen und alle Bitverschiebungen, Zeigermanipulationen usw. ausblenden.
%Vor%In C / C ++ ist der beste Weg (meiner Meinung nach), eine Union zu verwenden. Die folgende Funktion verwendet beispielsweise eine anonyme Union, um die 32 Bits niedrigerer Ordnung aus einer 64-Bit-Ganzzahl zu extrahieren.
%Vor%Dieser Vereinigungstrick kann für alle Arten von Dingen verwendet werden, wie das Holen der Bits eines Gleitkommawertes in eine ganze Zahl derselben Bitlänge, z. für bitweise Operationen und andere Hacks.
Tags und Links int64