Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
Win a copy of Kotlin in Action this week in the Kotlin forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Convert Integer to Short  RSS feed

 
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
Sheriff
Posts: 24217
38
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.
 
Don't get me started about those stupid light bulbs.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!