2013-06-02 141 views
0

我从我的蓝牙低能量传感器获取一些十六进制参数。无符号整数与%u

当我通过调用打印屏幕上的参数:

char * gotData = getTheData(); 
NSLog(@"My data: %u", gotData[1]); 

印刷实际上是十六进制表示转换为十进制。

我在gotData中的数据是用十六进制表示的字符。例如

gotData = [0xFA, 0xCC]; 

我要分配的整数值(0xFA)在目标C/iOS的任何对象。

哪一个是使用的?

在此先感谢!

+0

数据不是以十六进制存储的,也不是以int存储的。它的存储位简单而简单。它如何呈现*取决于您在参考和显示位时如何描述它。 –

回答

3

你在说一个十六进制“演示文稿”。这比你想象的更正确。这是数字数据的一种可能的介绍。 Char可以由0xFA表示。 %u因此不会以十六进制格式显示数据。但是,没有任何转换。 0xFA与250完全相同,只是不同的表示。

NSNumber是存储数值的合适对象。您的情况是否可行取决于您希望如何进一步处理它。

您在gotData中的数据根本没有出现。它只是一个八位字节流。数字数据。我们整个行业的基础数据类型。

如果你想展示其十六进制使用NSLog然后尝试%x%X