Мой вопрос состоит из двух частей.
Во-первых, как новичок в этом адресном пространстве, я хотел бы знать, в чем смысл выравнивания памяти адреса. Я разобрался в этом, но хотел задать этот вопрос здесь, так как нашел ответы здесь очень полезными.
Вторая часть моего вопроса связана с выравниванием и программированием: как найти, соответствует ли адрес 4 байтам или нет? Где-то я читал:
if(address & 0x3) // for 32 bit register
Но я действительно не знаю, как это проверяет выравнивание по 4 байт. Может ли кто-нибудь объяснить это подробно?
Редактировать: Было бы здорово, если кто-то сможет нарисовать живописный вид на эту тему.
Спасибо