Я работаю с чужим кодом, и есть поплавок с некоторыми необычными качествами.Как определить формат поплавка?
Если я выход поплавок с помощью:
NSLog(@"theFloat: %f", record.theFloat);
я получаю:
theFloat: 0.000000
Однако, если я использую:
NSLog(@"(int)theFloat = %i", (int) record.theFloat);
я получаю:
(int)theFloat: 71411232
Как узнать реальный формат и значение Float? Я знаю, что он должен содержать большое количество.
Кстати, класс Record, который содержит поплавок propertizes его таким образом:
@property (assign) float* theFloat;
Существует также floatLength:
@property (assign) int floatLength;
И имеет этот метод, который, кажется, показывают, что float имеет переменную длину (?):
- (void) copyFloat:(float*)theF ofLength:(int)len
{
float *floatcopy = malloc(len*sizeof(float));
memcpy(floatcopy, theF, len*sizeof(float));
self.theFloat = floatcopy;
}
адрес в памяти, где поплавок хранится по формуле: (межд) theFloat: 71411232 – Cobusve
'float' хорошо определен, но вы работаете с массивом поплавков так ваш' NSLog' называет просто напечатайте адрес массива. Какова цель записи? – drawnonward