aspose file tools*
The moose likes Java in General and the fly likes Convert  Integer to Short Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Convert  Integer to Short" Watch "Convert  Integer to Short" New topic
Author

Convert Integer to Short

Kumar Naidu
Greenhorn

Joined: Jul 27, 2006
Posts: 11
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

Joined: Jul 08, 2003
Posts: 24187
    
  34

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.


[Jess in Action][AskingGoodQuestions]
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Convert Integer to Short