From: andou@ncs.ts.fujitsu.co.jp (Toshiya Andoh )
To: java-house-brewers@java-house.etl.go.jp
Message-ID: <Chameleon.932157235.andou@andou.ncs.ts.fujitsu.co.jp>
Date: Fri, 16 Jul 99 11:34:11 JST

[JavaHouse-Brewers:26759] 0 〜255 の数値の扱い

[Prev][Next] | [Threads][Index] | [Search][Topics]
安藤@富士通NCSです。

  プログラミングについてなので相談しづらいのですが、
ご意見がありましたら、お願いします。
  環境は、JDK1.02で行っています。

  現在、ファイルから1octet(8bit)の識別子と複数octetのデータを
読み書きする仕組みを作ろうと思ってます。
  データは、4octet=1 WORDで扱われる場合があります。
このデータを扱うクラスをMyDataとします。

  で、その場合、1octetをbyte型に保存しようとすると、0x80以上は
負の値になります。
  その為、処理の場合にそれを考慮する仕組みが必要となってしまい
ます。
  その場合、どの方法が良いと思われますか。
  また、他にご意見がありましたら、教えて頂けますか。

1. byte型に保存。処理する場合は、負になることを考慮して
  計算する。
  public class MyData() {
    byte type;
    byte data[];
    public byte getType(){...};
    public void setType(byte type){...};
  }

2. UByte(usigned byte)クラスを作成し、データのやりとり/計算は
  全てこのクラスでまかなう。
  public class MyData() {
    UByte type;
    byte data[];
    public UByte getType(){...};
    public void setType(UByte type){...};
  }
  class UByte {
    int value;
  }

3. 入出力は、intで扱って、範囲外は、Exceptionを投げる。
  public class MyData() {
    int type;
      public int getType(){...};
      public void setType(int type){...}
                   throws OutOfNumberException ;
  }


# 因みに、なぜ、unsignedがサポートされていないのでしょうか?
--
富士通名古屋通信システム(株) システムエンジニアリング部
○安藤  俊也 <andou@ncs.ts.fujitsu.co.jp>
○TEL:052-952-8916  FAX:052-952-8621


[Prev][Next] | [Threads][Index] | [Search][Topics]
Follow-ups:
026762 mine@ia.noda.sut.ac.jp (Yukinobu Mine )
026767 cefiro@isl.mei.co.jp (山口 岳人) (cefiro@isl.mei.co.jp (山口 岳人))
026770 yukie@timedia.co.jp (YUKIE Kishida )