Я написал программу, чтобы распечатать битовую комбинацию ряда поплавка в С.поплавковый бит в памяти по-разному по сравнению с IEEE-754?
Так что я ожидал получить стандартный-IEEE-754 двоичных разрядов т.е .: 1 знаковый бит | 8 бит EXP | 23 mantissa bits
Когда я получил результат и положил результат в преобразователь IEEE-754, это число было неправильным. Когда я немного поменял порядок, число было правильным.
Так почему я спрашиваю: я нашел нить, в которой я узнал, что шаблон может быть BYTE-WISE отменен, но нигде я не нашел его полностью BIT-WISE в обратном порядке.
Может ли кто-нибудь наклеить на это, пожалуйста?
Вот скриншот программы, результат и результат преобразования. (Как вы можете видеть, что я поставил цифры в конвертер в обратном порядке, и результат выглядит хорошо для меня.)
Я думаю, что я искал шаблон и память неправильно. поэтому, если перейти на какой-то адрес, я просто начинаю с него в LSB, и, переходя через него, я перехожу от бит 0 до бит 32, верно? Я думаю, что меня смутило «нормальное направление чтения» и что 754-шаблон начинается с самого левого с его MSB ... Спасибо. – Ben
Единственное, что я делаю с целым, это сохранить исходный адрес флота, а не неправильно интерпретировать поплавок, не так ли? – Ben
@Ben Вам не разрешено делать это в C. Типы int и float несовместимы. Вы должны использовать тип символа или memcpy для нового объекта. – 2501