在最近的一次谷歌密码游戏比赛中,我需要将一个大整数读入(从文本文件中)到J.我试过
in =: ".&.><;._2 (1!:1) < 'filename.in'
然而".
将一些大整数转换为浮点数。
datatype ". '123456789'
integer
datatype ". '12345678901234567890'
floating
我不确定&#34;漂浮&#34;会丢失有效数字。在J中有扩展的整数支持。如何将一串数字转换为扩展整数?
答案 0 :(得分:3)
您可以在使用'x'
".
附加到字符串中
12345678901234567890x NB. usual way to create extended type
12345678901234567890
datatype 12345678901234567890x
extended
". '12345678901234567890','x' NB. the appended x allows ". to create extended type
12345678901234567890
datatype ". '12345678901234567890','x'
extended
答案 1 :(得分:2)
我发现工作的唯一方法是在读取文件之后附加&#39; x&#39;就像读取文件一样:
<@('x'&(,~));._2 (1!:1) < filename