6

次のコードについて質問があります。

#include <iostream>
#include <ctime>

int main(){
    unsigned long int blob;   
    srand(time(0)); 

    for(int counter = 0; counter <= 100; counter++) {
        blob = rand() % 4000000000UL ;
        std::cout << blob << std::endl;
    }//for
    system("pause");
    return 0;
} //main

codepad.org では、次のような大きな値を出力します

378332591
1798482639
294846778
1727237195
62560192
1257661042

しかし、Windows 7 64 ビットでは、小さな値しか出力されません (VS11 および Code::Blocks でコンパイルしてテスト済み)。

10989
13493
13169
18581
17972
29

C++ 学習者を助けてくれてありがとう;)

4

4 に答える 4