Existe uma boa maneira de dividir um int em dois curtos (.net)?
Eu acho que isso não é possível porqueInt32
tem sinal de 1 bit e tem 31 bits de informação numérica e Int16 tem sinal de 1 bit e 15 bits de informação numérica e isso leva a ter 2 sinais de bit e 30 bits de informação.
Se isso é verdade, então eu não posso ter umInt32
em doisInt16
. Isso é verdade?
Desde já, obrigado.
INFORMAÇÃO EXTRA: Usando Vb.Net, mas acho que posso traduzir sem problemas uma resposta C #.
O que inicialmente eu queria fazer era converter umUInt32
para doisUInt16
como isto é para uma biblioteca que interage com máquinas baseadas em WORD. Então percebi queUint
não é compatível com CLS e tentou fazer o mesmo comInt32
eInt16
.
MESMO PIOR: Fazendoa = CType(c And &HFFFF, Int16);
lançaOverflowException
. Eu esperava que essa declaração fosse a mesmaa = (Int16)(c & 0xffff);
(que não lança uma exceção).