2005-07-06から1日間の記事一覧

文字列の比較とキャスト

Javaをやらないとと思いつつもC言語にて生きるおみ。 今日は文字列において比較する長さが既に16/32bitの整数倍であると分かっている場合、char *を用いたstrcmp()/strncmp()とint *あるいはshort *にキャストしたものはどちらが高速であるかという虚無をし…

+ビット演算(+訂正)

ろぎ氏に指摘されたようにビット演算で比較してみた。 if(b[i]-s[i]){ return 1; } ↓誤 この行を if(b[i]&s[i]){ return 1; } こう変えただけでかなりの高速化。↓正 if(b[i]^s[i]){ return 1; } 4文字の場合、先に挙げたintcmp()において同様のビット演算を…