Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何找出浮点的格式?_Iphone_Objective C_Floating Point - Fatal编程技术网

Iphone 如何找出浮点的格式?

Iphone 如何找出浮点的格式?,iphone,objective-c,floating-point,Iphone,Objective C,Floating Point,我正在使用其他人的代码,并且有一个具有一些不寻常特性的浮点 如果我使用以下命令输出浮点值: NSLog(@"theFloat: %f", record.theFloat); 我得到: theFloat: 0.000000 (int)theFloat: 71411232 但是,如果我使用: NSLog(@"(int)theFloat = %i", (int) record.theFloat); 我得到: theFloat: 0.000000 (int)theFloat: 71411232

我正在使用其他人的代码,并且有一个具有一些不寻常特性的浮点

如果我使用以下命令输出浮点值:

NSLog(@"theFloat: %f", record.theFloat);
我得到:

theFloat: 0.000000
(int)theFloat: 71411232
但是,如果我使用:

NSLog(@"(int)theFloat = %i", (int) record.theFloat);
我得到:

theFloat: 0.000000
(int)theFloat: 71411232
我怎样才能发现这个文件的真正格式和价值呢?我知道它应该包含一个大数字

顺便说一句,包含float的记录类以如下方式对其进行属性化:

@property (assign) float* theFloat;
还有一个浮动长度:

@property (assign) int floatLength;
并且有这种方法,这似乎表明浮点是可变长度(?):


内存中存储浮点的地址由以下公式给出:(int)theFloat:71411232 您可能希望使用以下内容:

NSLog(@"theFloat = %f", (*record.theFloat));

它将取消对指针的引用并提供实际数据。

您的字段theFloat不是一个基元类型,而是一个指针。float*表示它是指向浮点的指针。您需要取消对该字段的引用以获取其值

使用*theFloat获取实际值

此外,我建议您检查格式说明符


内存中存储浮点的地址由以下公式给出:(int)theFloat:71411232A
float
定义良好,但您使用的是一个浮点数组,因此您的
NSLog
调用只需打印数组的地址即可。记录的目的是什么?这是完全错误的。强制转换为int将把浮点截断为整数。在C++术语中,它是<代码>静态引用> <代码>,而不是<代码> RealTytCase。这只打印
len
的第一个值。我觉得这有点苛刻。我在最后删除了旁白,但海报上说他在“一个浮点”上有问题,我只是拿了他打印单个值的代码,数组的地址,并添加了解引用,因为很明显他想打印值而不是地址。我会说最后的评论是错误的,大部分答案看起来都很好,当然如果他想让数组中的所有项都这样做。。。