Je travaille avec le code de quelqu'un d'autre, et il y a un flotteur avec des qualités inhabituelles.Comment trouver le format d'un flotteur?
Si la sortie I du flotteur en utilisant:
NSLog(@"theFloat: %f", record.theFloat);
Je reçois:
theFloat: 0.000000
Cependant, si je l'utilise:
NSLog(@"(int)theFloat = %i", (int) record.theFloat);
je reçois:
(int)theFloat: 71411232
Comment puis-je découvrir le vrai format et la valeur du Float? Je sais qu'il devrait contenir un grand nombre.
Par ailleurs, la classe d'enregistrement qui contient le flotteur il propertizes de telle manière:
@property (assign) float* theFloat;
Il y a aussi floatLength:
@property (assign) int floatLength;
Et a cette méthode, ce qui semble indiquer que la float est de longueur variable (?):
- (void) copyFloat:(float*)theF ofLength:(int)len
{
float *floatcopy = malloc(len*sizeof(float));
memcpy(floatcopy, theF, len*sizeof(float));
self.theFloat = floatcopy;
}
l'adresse en mémoire où le flotteur est stocké donnée par: (int) theFloat: 71411232 – Cobusve
A 'float' est bien défini, mais vous travaillez avec un tableau de flotteurs pour que votre' NSLog' appelle simplement imprime l'adresse du tableau. Quel est le but de l'enregistrement? – drawnonward