• ベストアンサー

Javaで数字を返されても、人間には関係ないのでは

こんにちは 今JAVAを学んでいるのですが、 例えば、 Static int reverse(int X)というメソッドで Xの2の補数バイナリ表現でビットの順序を逆にした値を返す。 というものがありますが、これらのように、数字でコマンドプロンプト上に返されても、人間には意味がないように思うのですが、使い道としてはどういうものになるのでしょうか。 どこかのクラスかファイルに飛ばして動作させたりできるのでしょうか…

質問者が選んだベストアンサー

  • ベストアンサー
  • KSOH
  • ベストアンサー率93% (29/31)
回答No.5

簡単な例を一つ挙げます。モノクロ画像の各画素の輝度を1ビットとしてあらわし、32画素分をint型のデータとして格納するような画像データがあるとします。(BufferedImageでそういうものが作れると思います)そのような画像データに対して左右反転処理を書くとしたらまさにこのメソッドを使うことになるでしょう。(お絵かきソフトには左右反転なんていう機能はよくある機能ですね) このように、int型のデータを自然数としてではなくビットの並びとして扱うという場面を想定しているメソッドなのです。なんらかの並びに対する基本操作の一つとしては並びを逆順にするのはポピュラーなものなので、まぁありふれた普通の機能です。とはいえ、どちらかというとビット処理というものは若干低水準な機能なので、最初のころはこういう機能をみても「なにこれ?」となるでしょうね。コンピュータが扱うデータが単なるビットの並びであり、そういうものがどう利用されているかについて経験を積んでいけばこういうものが何につかえそうかが想像できるようになると思います。

question_april
質問者

お礼

詳しく書いてくださって有り難うございます。また、お絵描きソフトで例えていただいたので、分かりやすかったです!有り難うございます 確かに左右反対にさせたりしたいときがあります そして、 成る程、今はとりあえず暗記したほうがいいということでしょうか はやく全部理解できるようになりたいです

その他の回答 (4)

回答No.4

たしかに、何に使うのか想像もできないようなものってありますよね。 ビット演算系は、事務系の情報処理とかWebアプリなんかでは、あまり出番はないと思います。 私は、データの暗号化とか、通信I/FのCRC計算あたりでしか使ったことないですが もしかして、ゲームとか、画像処理系だと使うんじゃないですかね。

question_april
質問者

お礼

回答有り難うございます。 難しいものです(T.T)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

reverse であろうが、+ であろうが、意味の無い使い方をすれば意味が無いし、意味のある使い方をすれば意味があるし。 例えば、「reverseって具体的にどんな数字を返すんだろう?是非知りたい」という目的があれば、数字をコマンドプロンプトに出しても意味がありますね。 普通はそう言う目的を持たないので(reverseを勉強したい人を除く)、そういうこと(数字をコマンドプロンプトに出す)はしませんのでご心配なく。 >使い道としてはどういうものになるのでしょうか。 数字と考えればあまり意味がありませんが、ビット列と考えれば、「ビット列の順序を逆順にする」ということなので、ビットデータ処理などで使うと思います。

question_april
質問者

お礼

回答有り難うございます 勉強していくうちに使い道がわかるのかもしれませんね 今はあんまりわかりませんが、 イメージはつかめました

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.2

そういう言い方をするなら三角関数のsin,cos,tanなんかも、その数字をコマンドプロンプトに出力したって人間には意味ないと思いますが。 使うべきところで使ってこそ意味があるというだけです。

  • t_ohta
  • ベストアンサー率38% (5238/13706)
回答No.1

そのメソッドだけ実行するのであれば、実行した人には意味が無い表示が返って来るだけかもしれませんが、プログラム全体を通して見たとき、プログラムのどこかでそのメソッドを呼び出して、戻り値を元に更に別の計算を行うような使い方をする場合は、そのメソッドは十分使い道があると言うことになるでしょう。

question_april
質問者

お礼

そういうやり方もあるのですね 回答有り難うございます

関連するQ&A