Coding

ビット演算の使いどころ

ForceKnQを作るにあたって、CPUのレジスタ操作にはビット演算使った方がコーディング楽そうだなと気づいた*1ので、今更だけどビット演算子を調べてみた。って、作り始めたときの話だけど。 初心者のためのポイント学習C言語 - 第14章 複雑な演算子 http:/…

配列を初期化せず使う方法

12/4に書いた日記 http://d.hatena.ne.jp/kaminarioyaji/20081204/1228387500 の補足。Radium Softwareさんの12/1のエントリに、配列を初期化せずに使う方法について言及してあったのでメモ。まさに前回書いた日記のネタ、そのもの(ただしこっちはより一般…

プログラム側から実行に用いるCPU数を制限する方法

マルチコア環境において、プログラムを強制的にシングルコアで動作させたい場合、 SetProcessAffinityMask関数 http://msdn.microsoft.com/ja-jp/library/cc429334.aspx SetThreadAffinityMask関数 http://msdn.microsoft.com/ja-jp/library/cc429346.aspx …

符号なし整数型配列内の要素数を重複を除いてカウントする - Counting Sortの応用

『OKWave - アルゴリズムの名前を教えてください』 http://okwave.jp/qa2722011.html unsigned short data[1000]; /* data[]には適当なデータが入るとする */ int i; int count = 0; unsigned short flag[0x10000]; unsigned short link[0x10000]; int n; fo…

天才的なソート法

『ボゴソート』 http://blogs.wankuma.com/melt/archive/2008/05/29.aspx 『Bogosort』(英語版Wikiが詳しかったのでリンク) http://en.wikipedia.org/wiki/Bogosort アルゴリズム(って言うのか?)見た瞬間、吹いたwww「ちょwwwwおまwwww」って…

IEnumerableインターフェイスの使いどころ

『それmicrothreadで書くべきだよ』 http://d.hatena.ne.jp/yaneurao/20081125#p1 メソッドにIEnumerableインターフェイスつけて、return yieldで逐次、メソッド呼び出し元に処理を返しておけば、別スレッド立てたような感じで擬似的に並列処理を実現できる…

ランダムに並べる(シャッフル)

『単純で正しそうなものが正しいとは限らない』 http://d.hatena.ne.jp/KZR/20081203/p2 ちょっと手を抜くだけで低品質なコードになっちゃいますよ、的な話。元記事は、 『The Danger of Naïveté』 http://www.codinghorror.com/blog/archives/001015.html …

【深きプログラミング言語】言語仕様とオブジェクト指向

http://www.thinkit.co.jp/article/158/ オブジェクト指向の復習。分かり易い説明でよかった。