У меня есть число с плавающей запятой, и мне нужно сохранить его в 4-байтовом регистре.Однако, когда я делаю операцию, как показано в примере ниже, я не получаю правильное значение, поскольку оно повреждено как 0x0000C000.
typedef float FLT;
FLT val , temp_val;
val = -6.513467;
(volatile FLT*)0x402174 = val;
Вместо этого, если я использую адресуемую переменную, как показано ниже, и проверяю в & _temp_val, это работает.
temp_val = val;
Значение в _temp_val равно 0xC0D06E52 (формат IEEE 754)
Я не могу понять, почему я не могу записать в регистр.