• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Convert Integer to Short

 
Kumar Naidu
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi all

i intend to convert a integer (or short or long) that is greater than a byte can hold (eg, 1111) to a byte array, since casting is simply cannot be used here, any other way can do it without lose precise? I have tried to use Integer wrapper class and use its toBinaryString() to convert the int to a string representation, eg 5->"101", then I really cannot find a way of converting "101" to a byte array with correct binary representation. Please help Give Me any Examples
 
Ernest Friedman-Hill
author and iconoclast
Marshal
Pie
Posts: 24208
35
Chrome Eclipse IDE Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The "&" and ">>" operators are your friends.

(i >> 24) & 0xff is the high-order byte of i
(i >> 16) & 0xff is the second byte of i
(i >> 8) & 0xff is the third byte of i
i & 0xff is the last byte of i

If you need to convert a bunch of data, consider using a DataOutputStream and a ByteArrayOutputStream in combination. The DataOutputStream's writeXXX() methods write the binary representation of Java primitive types, which would then be stored into the ByteArrayOutputStream.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic