Translate

2009年10月31日土曜日

某問題を解いていてめもをしておく。

・10進数からn進数へ変換するには?
my $num = 100;
print sprintf("%b", $num), "\n"; #2進数へ
print sprintf("%o", $num), "\n"; #8進数へ
print sprintf("%x", $num), "\n"; #16進数へ

・順列/組合せを全通りも止めるには?
Math::Combinatoricsモジュール使えばおk。

2009年10月18日日曜日

ミリ秒以下の計測を行う

http://kzk9.net/column/time.html
http://okwave.jp/qa4679753.html?ans_count_asc=20を参考に、
ミリ秒以下の計測を行う際のメモ。


#include 
#include

double gettimeofday_msec() {
struct timeval tv;
gettimeofday(&tv, NULL);
return (double)tv.tv_sec*1000.0 + (double)tv.tv_usec/1000.0;
}

int main(){
double t1,t2;

/*開始時間取得*/
t1 = gettimeofday_msec();

/*ここに計測対象を書く*/

/*終了時間取得*/
t2 = gettimeofday_msec();
/*差分から処理時間を求める。*/
printf("処理時間:%.1fms\n", t2 - t1);
}


ちなみに、構造体のtimevalは、
struct timeval {
time_t tv_sec; /* 秒 */
suseconds_t tv_usec; /* マイクロ秒 */
};