- PR -

int型のバイト配列への格納

1
投稿者投稿内容
未記入じゃけんど
ベテラン
会議室デビュー日: 2004/11/09
投稿数: 65
お住まい・勤務地: Osaka City
投稿日時: 2005-02-24 15:18
int型で宣言された数値をバイト配列にすることは可能でしょうか?

uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2005-02-24 15:22
可能か不可能か、と言われれば可能でしょうが、具体的に何をどうしたいのですか?
未記入じゃけんど
ベテラン
会議室デビュー日: 2004/11/09
投稿数: 65
お住まい・勤務地: Osaka City
投稿日時: 2005-02-24 16:28

byte[] buf;
buf = (new java.math.BigInteger("12322").toByteArray());

にて数値をバイト型配列に出来るのですが、
int(4バイト)のデータを作成したいのです。

Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2005-02-24 17:31
これを使えばできるのでは?
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/io/ByteArrayOutputStream.html

追記:
失礼しました。
上のやつと、これの組み合わせが必要ですね。
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/io/DataOutputStream.html

[ メッセージ編集済み 編集者: Edosson 編集日時 2005-02-24 17:40 ]
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-02-25 03:57
これは参考になるでしょうか。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19243&forum=12
未記入じゃけんど
ベテラン
会議室デビュー日: 2004/11/09
投稿数: 65
お住まい・勤務地: Osaka City
投稿日時: 2005-02-25 10:06
ありがとうございます。

byteArrayOutputStreamを使用して、実装できました。
さたろう
会議室デビュー日: 2005/02/07
投稿数: 11
投稿日時: 2005-02-25 10:25
時間差でもう解決してしまったようですね・・
解決した方法とは別の方法のようですし,せっかく作ったので,載せておきます.
参考までに..

コード:

public class TestIntegerByte{
public static void main(String[] args){

int q = -93423242;
byte[] buf;
buf = (new java.math.BigInteger((new Integer(q)).toString()).toByteArray());

int ans=0;
for(int i=0; i<buf.length; i++){
ans = (ans<<8) | (buf[i]&255);
}
System.out.println(ans);
}
}


たぶん,大丈夫なはずっす.

[ メッセージ編集済み 編集者: さたろう 編集日時 2005-02-25 10:26 ]
1

スキルアップ/キャリアアップ(JOB@IT)