dwa razy int32 zamienc na int64

0

Witam

Pisze mały programik i wyszukuje w nim różne liczby. Aby nie komplikować sprawy (nie szukać najpierw po zmiennej a potem b) chcę zamienić je na na jedną wielką liczbę int64

oczywiście nie mogę tych int32 zsumować bo to zupełnie co innego. Ale chce aby można je było potem rozdzielić i znów mieć dwie po int32. Wie ktoś jak to zrobić ?

0

A nie możesz użyć struktury z dwoma int32?

struct para{
int32 a,b;
};

Ale jeżeli chcesz.
Uwaga, nie testowałem tego, sprawdź dla liczb ujemnych.

Int64 sum(Int32 l, Int32 h){
    return ((Int64)l) + (((Int64)h) << 32)); 
}

Int32 low(Int64 l){
    return (Int32)((l << 32) >> 32); 
}

Int32 high(Int64 l){
    return (Int32)(l >> 32); 
}
0

Dzięki ! Działa

1 użytkowników online, w tym zalogowanych: 0, gości: 1