Продолжая мой предыдущий вопрос Why I cannot derive from long?Длинного типа, сдвиг влево и вправо операции переключения
я нашел интересную проблему.
Шаг один:
4294967296 & 0xFFFFFFFF00000000
Результат: 4294967296.
Шаг два.
4294967296 & 0x00000000FFFFFFFF
Результат: 0
Ага, так вот я полагаю, что 4294967296 == 0xFFFFFFFF
Давайте проверим
(long)0x00000000FFFFFFFF
Результат: 4294967295. фаил.
двойная проверка Давайте
4294967296 >> 32
Результат: 1. Неудача.
Единственное объяснение состоит в том, что, поскольку я использую long, где , бит зарезервирован для знака. В C я буду использовать unsigned long. Как вы думаете, ребята?
Число, которое выглядит как ... 6 в десятичной системе, не может равняться числу, которое выглядит. ..F в гексагоне. Один четный, и один странный! – AakashM