- - PR -
アルゴリズム
| 投稿者 | 投稿内容 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-03-10 20:26
オ、オーバーフロー… なお、最近のプロセッサでは四則演算(というか加減算)のほうが早かったりということもあったり無かったり… 昔々には意味のあったテクニックですね。 まあ、実際に意味があるかどうかではなく、いろいろとこねくり回して、コンピュータの動作とかいろんなアルゴリズムやテクニックがどのように機能しているかというところを理解するために有効ですね。 # その知識が役に立つというより、いろいろ試したり # 考えたり興味を持ったりするきっかけとして。 | ||||||||||||||||
|
投稿日時: 2004-03-10 20:53
オーバーフローすると上手く動作しないという意味でしょうか? オーバーフローしながらもちゃんと動作すると思うのですが..。 そう云う意味でないのでしたらご勘弁を。
同感です。 個人的にはパズル感覚で楽しんだりしている感じもあります。 To: wiem さん 月並みですが、楽しみながらやるって事が習得の近道ですね。 | ||||||||||||||||
|
投稿日時: 2004-03-10 21:14
あ、Javaは忘れちゃってるんで勘違いかも… Javaって四則演算でオーバーフローが起こると例外になりませんでしたっけ? | ||||||||||||||||
|
投稿日時: 2004-03-11 09:10
はにまるです。
たーぞうさん、一朗さん、無月 重造さん、ゆうじゅんさん、 ご返答ありがとうございます。 「全ビット0」と「B」の排他論理和は、「B」ですね。 風呂場で間違った記述をした事に気付き、職場に戻りたい気分でした... # 只今、家のLANカードが壊れてインターネットが出来ない.. ちなみに私はこうなりました。 # ネタばらしなので御注意を! 前提知識: 排他論理和は、比較値の異なる列を出す演算子 理論: AとBの値を入れ返る場合、同列が同値ならそのまま、 同列が異値ならビットを反転させる。 手順: AとBで値が異なる列を求める。Aにセット(1つ目の排他論理和) 異値の列を反転してBを求める。(2つ目排他論理和) 異値列情報とBを逆算してAを求める。(3つ目排他論理和) ですので、unibonさんの四則演算と理論とは 異なる考え方となりました。 ん〜たった3行なのに奥が深い。(これ考えた人すごい!) アルゴリズム問題ってトレメにあると良いですね!。 って1ヶ月で終わるかも... [ メッセージ編集済み 編集者: はにまる 編集日時 2004-03-11 09:11 ] | ||||||||||||||||
|
投稿日時: 2004-03-11 09:34
unibon です。こんにちわ。
if は必須ではないですよね。処理系によっては処理時間の短縮が見込めるかもしれないので付いているだけですよね。昔の処理系は、条件分岐は比較的コストがかからなかったのと、たとえば数の桁数が少なくて8ビットだとヒットする確率は1/256と結構大きいので、if を付けるのは理にかなっていると思います(前述のようになくても良いです)。
Java の整数(int 等)なら大丈夫です。 あと、float/double でもソコソコいけますが、誤差が出てきます。 #誤差が出る○○о○処理なんて... #新たにひとつ変数を使用するコストがめちゃくちゃかかる処理系ならそれでも有効か? | ||||||||||||||||
|
投稿日時: 2004-03-11 10:07
あああ、なんかいろんな箇所で大ボケしてたような…ごめんなさい… | ||||||||||||||||
