casting - Convert byte to sbyte without changing bits in C# -


i want convert byte sbyte, without changing bits.

byte b = 0x84; sbyte sb = unchecked((sbyte)b); console.writeline("0x" + convert.tostring(b, 16)); console.writeline("0x" + convert.tostring(sb, 16)); 

the result of be:

0x84 0xff84 

i understand result means , why happens. however, cannot seem find out can avoid behaviour. how can copy actual binary value of byte , inside sbyte?

the bit's not changing between b , sb @ all. behavior coming convert.tostring(). there isn't overload of convert.tostring() takes sbyte , base. closest match convert.tostring method (int16, int32). sb being sign extended 16 bits.


Comments

Popular posts from this blog

apache - PHP Soap issue while content length is larger -

asynchronous - Python asyncio task got bad yield -

javascript - Complete OpenIDConnect auth when requesting via Ajax -