2010年6月1日火曜日

符号無し整数に最大値を簡単に入力

符号無し整数に最大値を簡単に入力する場合どのようにしているでしょうか? まさかリテラルで? いえいえ、とってもスマートな方法があります。

それは-1を代入する事です。 -1は2の補数では全てビットが立ちます。 つまり符号無し整数の最大値となります。 詳しくは以下のコードをどうぞ。


#include <stdio.h>

int main(void){
   
    unsigned int uiVal;
   
    /*小ネタ、符号無し整数に-1を代入すると全てのビットが立つ*/
    uiVal = -1;
   
    printf("%u\n",uiVal);
   
    return 0;
   
}

0 件のコメント:

コメントを投稿