4 ответов:
примитивные типы данных с префиксом " u " являются беззнаковыми версиями с одинаковыми битовыми размерами. Фактически это означает, что они не могут хранить отрицательные числа, но, с другой стороны, они могут хранить положительные числа в два раза больше, чем их подписанные коллеги. Подписанные аналоги не имеют префикса" u".
пределы для int (32 бит) являются:
int: –2147483648 to 2147483647 uint: 0 to 4294967295и долго (64 бит):
long: -9223372036854775808 to 9223372036854775807 ulong: 0 to 18446744073709551615
uintиulongявляются беззнаковыми версиямиintиlong. Это значит, что они не могут быть негативными. Вместо этого они имеют большее максимальное значение.Type Min Max CLS-compliant int -2,147,483,648 2,147,483,647 Yes uint 0 4,294,967,295 No long –9,223,372,036,854,775,808 9,223,372,036,854,775,807 Yes ulong 0 18,446,744,073,709,551,615 Noчтобы написать литерал без знака int в исходном коде, вы можете использовать суффикс
uили123U.вы не должны использовать uint и ulong в вашем публичном интерфейсе, если вы хотите быть CLS-совместимыми.
читать документацию для более информация:
uозначаетunsigned, Так чтоulongбольшое число без знака. Вы можете хранить большее значение вulongчемlong, но отрицательные числа не допускаются.A
longзначение хранится в 64-разрядной версии, с его первой цифрой, чтобы показать, если это положительное/отрицательное число. в то время какulongтакже 64-разрядный, со всеми 64 бит для хранения числа. таким образом, максимум ulong равен 2(64)-1, а long-2(63)-1.
разница в том, что
uintиulongявляются беззнаковыми типами данных, что означает, что диапазон отличается: они не принимают отрицательные значения:int range: -2,147,483,648 to 2,147,483,647 uint range: 0 to 4,294,967,295 long range: –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 ulong range: 0 to 18,446,744,073,709,551,615
Comments