9

これが私が欲しいものです:

unsigned int max_unsigned_int_size;
max_unsigned_int_size = ???;

どうすればいいですか?

4

6 に答える 6

38

#include <limits.h>
unsigned int max_unsigned_int_size = UINT_MAX;

C++

#include <limits>
unsigned int max_unsigned_int_size = std::numeric_limits<unsigned int>::max();
于 2013-04-08T21:24:29.073 に答える
18
unsigned int max_unsigned_int_size = -1;

正しいことを保証します。符号なし型の算術演算は常にモジュロです。

しかし、具体的なケースでは、常に使用する必要がありますUINT_MAX

于 2013-04-08T21:25:16.127 に答える
7

あなたが探しています

#include <limits>
std::numeric_limits<unsigned int>::max();

サイズsizeofが必要な場合は、CHAR_BITS を掛けてビットを取得します。

あるいは、

std::numeric_limits<unsigned int>::digits();
于 2013-04-08T21:24:11.123 に答える
4

あなたが必要std::numeric_limits::max()

#include <limits>

...

max_insigned_int_size = std::numeric_limits<unsigned int>::max():
于 2013-04-08T21:24:03.557 に答える
2
  • C の場合、値は in で与えられUINT_MAXますlimits.h
  • C++ の場合、代わりにstd::numeric_limits<unsigned int>::max()from を使用できますlimits
于 2013-04-08T21:24:15.570 に答える
1
#include <limits>

max_unsigned_int_size = std::numeric_limits<unsigned int>::max();
于 2013-04-08T21:24:35.937 に答える