推定無題

日々調べたこととか

C/C++

月の日数の計算

元ネタ。 Calculate the number of days in a month C/C++ int numberOfDays; if (month == 4 || month == 6 || month == 9 || month == 11) numberOfDays = 30; else if (month == 2) { bool isLeapYear = (year % 4 == 0 && year % 100 != 0) || (year % 4…

特定ビットをクリアする

たまにしか使わないので忘れちゃう。 bit &= ~0x01; B0が立っていればクリアされる。

ビットの逆転

ビットを逆順にする。 1011 => 1101ふつう思いつくのはこんな感じ? unsigned long BitReversal(unsigned long src, char bit/*=32*/) { unsigned long reversed = 0; for(int i=1; i<(bit+1); ++i) { if(src & 1) reversed |= (1 << (bit-i)); src >>= 1; }…