ぎるばーとの日記

もっともっと遠くへ行きたい 空が広く見える場所まで

コンピュータ

Javaの知られざる構文〜幻のfor-while文

【この記事はジョーク記事です!】【某ソフトハウスの営業マン】 「軌道上の静止衛星に積まれるソフトです。for文は宇宙放射線に弱いので全てwhile文で書く必要がありますが、御社は対応可能でしょうか?」 「大丈夫です。大丈夫です。弊社の開発部門にはそ…

Binary GCD

GCDは最大公約数。計算方法としてはユークリッドの互除法が有名です。 別なやり方もあって、例えばBinary GCDアルゴリズムなんかおもしろいと思うのですが、なぜか日本語での解説が少ない……。 なら自分で書いて残しておこうかと思ったり。 Binary GCDアルゴ…

罠が潜んでいる!

ワンライナーの陥穽。 剰余(n rem m)演算とモジュロ(n mod m)演算はnが負のとき結果が違ってきます。端的に言うとモジュロ演算で結果が負の数になることはありません。(詳細は英語版ウィキペディアのモジュロ演算。) 例を挙げた方がいいか……。 n -7 -6…

log2(x)

JavaのMathクラスにはlog2(x)関数が見当たりません。 他のプログラミング言語でもlog2(x)がない場合には役立つ話かも……? さて、下のやり方で何か問題があるでしょうか? Math.log(x) / Math.log(2) 対数の底の変換は、 なので数学的には自然というか素朴な…

google-code-prettify

サイト構築作業再開中です! 今日から何回かにわたって、今時なサイト制作技術について紹介したいと思います。(周回遅れなのもあるかも まず第1回は、google-code-prettifyの紹介〜。 これは、プログラムのソースコードなどを文法に基づいて見やすくハイラ…