Re: uint.MaxValue << 32 == 0xFFFFFFFF
От: Ночной Смотрящий Россия  
Дата: 15.07.21 14:45
Оценка: 6 (1) +1
Здравствуйте, pugv, Вы писали:

P>А знали ли вы, что в C# сабж?

P>Ну, если быть точным, то UB.
P>И, чсх, это документировано.

И где ты здесь UB увидел? Все там defined

If the type of x is int or uint, the shift count is defined by the low-order five bits of the right-hand operand. That is, the shift count is computed from count & 0x1F (or count & 0b_1_1111).

32 & 0b_1_1111 == 0 , поэтому для любого аргумента << 32 будет возвращать значение этого аргумента.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.