Когда я использую побитовый оператор на быстрой площадке, 147 < < 24 дает мне 2,466,250,752. Тем не менее, запуск того же оператора на моем iPhone и печать результатов дает мне -1828716544. Почему он должен давать другой результат и как я могу это исправить?Побитовый оператор дает отличный результат на детской площадке
1
A
ответ
4
Это вопрос 32-битных и 64-разрядных целых чисел, потому что результат сдвиг влево <<
имеет тот же тип, что и его операнды.
Экспозиция использует 64-битную архитектуру, поэтому
147 << 24 = 0x0000000000000093 << 24 = 0x0000000093000000 = 2466250752
На 32-битовое устройство 147 представляет собой 32-битный подписал целое число и, следовательно,
147 << 24 = 0x00000093 << 24 = 0x93000000 = -1828716544
является отрицательным (бит знака равен 1).
Однако результат помещается в 32-битном беззнаковое целое число, так что это даст тот же результат на обеих архитектур:
let x = UInt32(147) << 24 // 2466250752
Смежные вопросы
- 1. NSTask на детской площадке
- 2. Импорт Канна на детской площадке
- 3. Побитовый оператор «&» на uint
- 4. Windows telnet дает отличный результат
- 5. Shader компиляция дает отличный результат
- 6. для каждого дает отличный результат?
- 7. Использование быстрых занятий на детской площадке
- 8. Как увидеть исключения на детской площадке Swift?
- 9. импорт какао в детской площадке Xcode дает мне ошибку
- 10. Побитовый и оператор
- 11. Побитовый оператор булевых вычислений
- 12. Javascript window.print() дает мне отличный результат
- 13. Почему console.log (document.body) дает отличный результат?
- 14. OpenCL kernel float division дает отличный результат
- 15. JUnit4 TextUtils.isEmpty() дает отличный результат, чем String.isEmpty()
- 16. InvokeMember дает отличный результат, чем прямой вызов
- 17. Анимации не работает в ИО детской площадке
- 18. Спецификация Rspec spec & Rake дает отличный результат
- 19. Идентичный запрос Sql дает отличный результат
- 20. std :: cout дает отличный результат от qDebug
- 21. Почему Object.prototype.toString.call() дает отличный результат, чем Object.prototype.toString()?
- 22. _mm_crc32_u8 дает отличный результат, чем код ссылки
- 23. ошибка: `line` недолго проживает, но это нормально на детской площадке
- 24. Побитовый и (&) оператор
- 25. Побитовый & оператор возвращает 255
- 26. C побитовый оператор '&' использует
- 27. C++ '>' побитовый оператор
- 28. Как работает побитовый оператор
- 29. Когда используется побитовый оператор?
- 30. Побитовый оператор в js противоречив?