В чем разница между Int32 и UInt32? - PullRequest
12 голосов
/ 21 февраля 2010

В чем разница между Int32 и UInt32?

Если они совпадают с возможностями диапазона мощностей, вопрос в том, почему UInt32 был создан? Когда я должен использовать UInt32 вместо Int32?

Ответы [ 4 ]

39 голосов
/ 21 февраля 2010

UInt32 не допускает отрицательных чисел. От MSDN :

Тип значения UInt32 представляет целые числа без знака со значениями от 0 до 4 294 967 295.

10 голосов
/ 21 февраля 2010

Целое число от -2147483648 до 2147483647, а целое число без знака от 0 до 4294967295.

Эта статья может вам помочь.

5 голосов
/ 21 февраля 2010

uint32 - это целое число без знака с 32-разрядным значением, которое означает, что вы можете представить 2 ^ 32 числа (0-4294967295).

однако для представления отрицательных чисел один бит из 32 бит зарезервирован для указания положительного или отрицательного числа. это оставляет вам 2 ^ 31 возможных чисел в отрицательном, а также в положительном. результирующий диапазон составляет от -2147483648 до 2147483647 (положительный диапазон включает значение 0, следовательно, только 2147483647). это представление называется int32.

вы должны выбрать unsigned для чисел, которые не могут быть отрицательными по определению, поскольку он предлагает вам более широкий диапазон, но вы должны иметь в виду, что преобразование из и в int32 невозможно, так как int32 не может содержать диапазон uint32 и наоборот.

1 голос
/ 21 февраля 2010

UInt32 не подписан. Он не может использоваться для представления отрицательных чисел, но может содержать большие положительные числа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...