Каково различие между Int32 и UInt32?

Между чем различие Int32 и UInt32?

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

12
задан TrueWill 21 February 2010 в 23:31
поделиться

4 ответа

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

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

40
ответ дан 2 December 2019 в 03:01
поделиться

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

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

10
ответ дан 2 December 2019 в 03:01
поделиться

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

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

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

5
ответ дан 2 December 2019 в 03:01
поделиться

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

1
ответ дан 2 December 2019 в 03:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: