• 締切済み

[Java]Short.valueOf("10")をByte[2]に変換する方法

ProKaseifuの回答

回答No.1

1)プリミティブ型のByteじゃなければ簡単に変換できますが、わざわざプリミティブ型を使う理由があるのでしょうか? byte[] by = "10".getBytes(); 2)さーなんででしょーかね。プリミティブ型には大体byteValueのメソッドがありますね。 とりあえず(-128,127)までなら正しく変換されますけど、その値を超えると丸めたり切り捨てられるっぽいですね。 System.out.println(Short.valueOf("128").byteValue()); を実行すると-128になるので2の補数で計算してるようですね。(まぁ、あたりまえか)

関連するQ&A

  • 【JAVA】CharをByteに変換したい。

    JAVAで、CharをByteに変換したいです。 以下の様なメソッドを用意して通してたのですが -------------------------------------- public static byte[] Char2Bytes(char c){ int i = (int)c; return new byte[] { (byte)(i >> 8), (byte)(i & 0x00ff) }; -------------------------------------- 「a」などの場合、このメソッドを通すと「 a」となってしまいます。 他に変換する方法などないでしょうか? または、上記で「 a」とせず「a」にする方法はございますか? #byte[0]の中身が「0」であればの判定以外で

  • byteとかshortはどんな意味ですか?

    初歩的な質問なのですが byte short int long float double char boolean これらはどんな意味があるのですか? よろしくお願いします

    • ベストアンサー
    • Java
  • ByteからBpsへの変換

    こんばんは。 例題としてなんですが、  秒間 468件  バイト長 9,660 Byte という値から「4,520,880 Byte/秒」を通信量として定義されると します。 この「4,520,880 Byte/秒」を kbpsに変換するにはどう算出すれば良いでしょうか? 答えとして「36,167(kbps)」という回答があるのですが どう計算すればこうなるか良くわかりません・・ すみませんがアドバイスお願いします。

  • byte[]→String変換後の文字列が違うのはなぜ?

    byte[]→String変換の処理を行っていたのですが、 使うメソッド(コンストラクタ)によって結果が違ってきます。なぜだかよくわからないのですが、どなたかご説明していただけないでしょうか。 byte[] bt; String str1 = "12345", str2; bt = str1.getBytes(); (1)str2 = new String(bt); (2)str2 = bt.toString(); (1)の方法と(2)の方法では答えが違ってきます。(1)では"12345"でしたが、(2)ではなんだか記号などまざったぐちゃぐちゃな文字列でした。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • [VB.net] StringからByte配列への変換

    皆さんこんばんは。 最近VB.NET2000でVisual Basicをはじめたのですが、どうにもString型の値をByte配列へ変換するやり方が分かりません。 VB6.0だとByte配列にStringを代入するだけでいいそうなのですが、.NETで代入しようとすると『型"String"の値を"Byteの1次元配列"に変換できません』というビルドエラーが表れてしまいます。 CByte( Mid(str,i,1) ) CLng( Mid(str,i,1) ) 他にも上記コードのように一つずつ変換しようと試みたのですが、String中のある文字がワイドバイトらしく、System.InvalidCastExceptionが表れてしまいます。 ("『"を上下反転したような文字) ワイドバイトのStringを1バイトずつ区切ってByte配列やLong配列へ格納する手法というものはありませんでしょうか。 よろしくお願いします。

  • imageからbyteの変換方法

    画像ファイル(jpgやbmp)からByte配列に格納する事は可能なのですが image型をbyte型に格納する方法が解りません。 ファイルのときはFileStreamとBinaryReaderを使用して BinaryReader.ReadBytesで行っていたのですが 同じような間隔で変換する事は可能なのでしょうか? ご教授お願いいたします。 プログラムはVB 2005を使用しております。

  • int配列をbyte配列に変換

    MIDPアプリを作成している初心者です。 Image データを一旦端末のレコードストアに保存しておく為、 getRGB()で取得したint配列を、byte配列に変換しなくてはいけません。 ↓のように レコードストアに書き込むメソッドを書いてみました。 public void writeRecordStore( String name, Image image ) {     int width = image.getWidth();     int height = image.getHeight();     int[] pxData = new int[ width*height ];     byte[] byteData;     RecordStore rs = null;     try {         //画像をバイトデータに変換         image.getRGB( pxData, 0, width, 0, 0, width, height );         //レコードストアを開く         rs = RecordStore.openRecordStore( name, true );         //バイト配列に変換 ← ここがわからない                  //レコードの追加         rs.addRecord( byteData, 0, byteData.length );              } catch( Exception e ) {     } } int配列をbyte配列に変換する方法わかる方 ご教授の程お願いします。 また、まだコーディングに自信が無いので、文法のミスもご指摘頂けたらありがたいです。

    • ベストアンサー
    • Java
  • C#で型変換がうまくいきません。

    C#で型変換がうまくいきません。 short r; byte[] b = new byte[] {1,2,3}; r = (short)b[1] * (short)256; というコードを書くと、 型 'int' を 'short' に暗黙的に変換できません。明示的な変換が存在します。(cast が不足していないかどうかを確認してください) と出てしまいます。キャストしているのに何がいけないのか全くわかりません。 どうぞ宜しくお願いいたします。

  • byte配列をImageに変換する

    現在Javaでネットワーク越しに画像データを送るプログラムを書いているのですが、byte配列に変換した画像データを、元の画像データに戻せなくて困っています。 もう少しプログラムよりにかくと、BufferdImageをbyte[]には変換できますが、逆ができません。 何かよい方法はないのでしょうか?お返事お待ちしております。

    • ベストアンサー
    • Java
  • Timestamp型への変換について(Java)

    Java実行時の引数(args[i])の値を、 Timestamp型に変換してSQLにセットしたいのですが、 Timestamp型への変換がうまくいかず、 例外として ===== java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff] ===== と表示されます。 ちなみに入力値は、 YYYYMMDDhhmmssの形式で、下記のように入力しています。 ===== 20110810000000 ===== APIなどを読んでvalueOfメソッドなど使ってみたのですが。。。 分かる方教えてください!

    • ベストアンサー
    • Java