как из int'а вытащить по отдельности мл. или ст. байты?
Здравствуйте, novikovs, Вы писали:
N>как из int'а вытащить по отдельности мл. или ст. байты?
int a_TvoiInt;
byte a_Mlad, a_Star;
a_Mlad = (byte) a_TvoiInt;
a_Star = (byte) (a_TvoiInt >> 24);
Здравствуйте, novikovs, Вы писали:
N>как из int'а вытащить по отдельности мл. или ст. байты?
short low = i & 0xFFFF;
short high = (i >> 16) & 0xFFFF;
<< RSDN@Home 1.1.4 beta 7 rev. 474 >> [Windows XP — 5.1.2600.0]
under «*none*»
Здравствуйте, Oleksandr, Вы писали:
N>>как из int'а вытащить по отдельности мл. или ст. байты?
O>int a_TvoiInt;
O>byte a_Mlad, a_Star;
O>a_Mlad = unchecked((byte)a_TvoiInt);
O>a_Star = (byte) (a_TvoiInt >> 24);
Иначе, при компиляции с checked+, получим
An unhandled exception of type 'System.OverflowException' occurred in Tests.exe
Additional information: Arithmetic operation resulted in an overflow.
Если превысим байт в a_TvoiInt.
<< RSDN@Home 1.1.4 beta 7 rev. 474 >> [Windows XP — 5.1.2600.0]
under «*none*»
Воспользуйтесь BitConvertor.GetBytes()
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение