Czy jest dobry sposób na podzielenie int na dwa szorty (.NET)?

Myślę, że nie jest to możliwe, ponieważInt32 ma znak 1-bitowy i 31-bitową informację numeryczną, a Int16 ma 1-bitowy znak i 15-bitową informację numeryczną, co prowadzi do 2-bitowych znaków i 30 bitów informacji.

Jeśli to prawda, nie mogę go miećInt32 na dwaInt16. Czy to prawda?

Z góry dziękuję.

DODATKOWE INFORMACJE: Korzystając z Vb.Net, ale myślę, że mogę bez problemu przetłumaczyć odpowiedź C #.

Na początku chciałem przekonwertować jedenUInt32 do dwóchUInt16 jak to jest w przypadku biblioteki, która współdziała z maszynami opartymi na WORD. Wtedy to zrozumiałemUint nie jest zgodny z CLS i próbował zrobić to samoInt32 iInt16.

NAWET WORSE: Robia = CType(c And &HFFFF, Int16); rzucaOverflowException. Spodziewałem się, że to stwierdzenie będzie takie samo jaka = (Int16)(c & 0xffff); (który nie rzuca wyjątku).

questionAnswers(12)

yourAnswerToTheQuestion