我在Mathematica中有一个很多的数字。我甚至使用OutputForm[]
以16的形式得到了这个数字。我基本上试图以十六进制格式写出一个数字。
请记住,我在这些示例中使用了123456而不是我的70,000位数字。
每当我使用简单的Put[123456, "file.raw"]
命令编写文件时,我会得到一个原始数据文件,其中包含一行结尾的实际数据3132333435360A
。
如果我使用Put[OutputForm[BaseForm[123456, 16]], "file.raw"]
命令,我会得到一个原始数据文件,其中包含十六进制格式31653234300A202020202031360A
的数据,但仍未写为原始数据。
我希望数字的十六进制形式作为数据。
我尝试了Export
,BinaryWrite
和DumpSave
,但无法理解。
我只是觉得头疼我猜是因为我看不到我需要做的事情。
我尝试过的一件事是:
Export["file.raw", 123456];
但文件不够粗糙。我的意思是有标题数据和额外的废话。
很想得到这份工作的感谢。
答案 0 :(得分:0)
请告诉我们您希望在输出文件中看到的内容以及您想要使用的内容。您是否想要人类可以阅读的东西,或者计算机使用的指定格式的东西?请举个例子。
使用Put[]
的两个示例正确地提供了包含与输入的文本表示相对应的ASCII字符的文件,这些文件是人类可读的。
答案 1 :(得分:0)
我认为你要找的是IntegerString [_,16]:
In[33]:= IntegerString[123456, 16]
Out[33]= "1e240"
str = OpenWrite[];
WriteString[str, IntegerString[123456, 16]];
Close[str];
FilePrint[%]
1e240
(使用WriteString而不是Put避免使用字符串字符