将十六进制转换为十进

时间:2013-03-28 14:15:18

标签: c++ visual-studio-2010 opencv

我想保存一些我正在从文本文件中的图像中读取的值。

关于方形字符(uchar *)。所以我将它投入Float *。

一切顺利。但问题是值是六进制的!

如何将hexa转换成dec?我已经在Stack over flow中看到了(其他已回答的问题是他们正在介绍一些C#库但是我使用c ++

2 个答案:

答案 0 :(得分:0)

是因为你将它转换为指针而指针通常以十六进制显示。尝试将其作为双击

答案 1 :(得分:0)

根据您发布的评论,我假设您要写出图像的内容,而不是像素的地址。在这种情况下,它只是

FILE << img[i] << ...;

或者,如果您想将这些值解释为双打

FILE << static_cast<double>(img[i]) << ...;

如果要打印出像素的地址,而不是十六进制表示,则应使用

FILE.setf(std::ios::dec);
FILE << &(img[i]) << ...