在Ada中将整数值转换为十六进制

Spc*_*ode 5 hex ada

有一些解决方法可以利用以下功能并保存它吗?

Put_Line(MyNum, Base => 16);
Run Code Online (Sandbox Code Playgroud)

这是将实例255转换为十六进制FF中的正确值,但仅用于显示目的.我可以做类似的事情,但要保存结果吗?

Sim*_*ght 9

您可以使用Put输出到字符串版本:

procedure Put(To   : out String;
              Item : in Num;
              Base : in Number_Base := Default_Base);
Run Code Online (Sandbox Code Playgroud)


Sha*_*rk8 5

我可以做类似的事情,但要保存结果吗?

是的,它不是"最简单"的方式,但如果你使用Streams,它是非常通用和灵活的.

wikibook有一个例子,虽然它对你想要的东西有点"罗嗦":http://en.wikibooks.org/wiki/Ada_Programming/Libraries/Ada.Streams/Example


简单的"单线"是Ada.Integer_Text_IO.Put.

Ada95的RM描述了附件A中的integer_text_IO,10.8.