Linux 正在读取程序集中包含数组的文件

Linux 正在读取程序集中包含数组的文件,linux,file,assembly,x86,Linux,File,Assembly,X86,我想编写函数(Linux、assembly、x86),从文件中读取并返回值(double)。我需要这是我对Newton-Raphson反演算法的最初猜测(我在excel中检查了这一点,对于随机值,这些值在最多8次迭代中给出了正确的结果)。我的文件是这样的: 10 0,1 100 0,01 1000 0,001 ... 1E+307 1E-307 0. Load value x 1. Check if x > 1 ? (if equal, return 1) Yes: jump 2

我想编写函数(Linux、assembly、x86),从文件中读取并返回值(double)。我需要这是我对Newton-Raphson反演算法的最初猜测(我在excel中检查了这一点,对于随机值,这些值在最多8次迭代中给出了正确的结果)。我的文件是这样的:

10
0,1
100
0,01
1000
0,001
...
1E+307
1E-307
0. Load value x
1. Check if x > 1 ? (if equal, return 1)
    Yes: jump 2A
    No: jump 2B

2A. i = 0
3A. Check if x <= column(i) ?
    No: i=i+2 jump 3A
    Yes: return column(i+1) jump 4

2B. i = 1
3B. Check if x >= column(i) ?
    No: i=i+2 jump 3B
    Yes: return column(i+1) jump 4

4. End
我的算法应该是这样的:

10
0,1
100
0,01
1000
0,001
...
1E+307
1E-307
0. Load value x
1. Check if x > 1 ? (if equal, return 1)
    Yes: jump 2A
    No: jump 2B

2A. i = 0
3A. Check if x <= column(i) ?
    No: i=i+2 jump 3A
    Yes: return column(i+1) jump 4

2B. i = 1
3B. Check if x >= column(i) ?
    No: i=i+2 jump 3B
    Yes: return column(i+1) jump 4

4. End
我有一些问题:

  • 有可能实现这一点吗
  • 使用这样的文件是否更好:

    10
    0,1
    100
    0,01
    1000
    0,001
    ...
    1E+307
    1E-307
    
    0. Load value x
    1. Check if x > 1 ? (if equal, return 1)
        Yes: jump 2A
        No: jump 2B
    
    2A. i = 0
    3A. Check if x <= column(i) ?
        No: i=i+2 jump 3A
        Yes: return column(i+1) jump 4
    
    2B. i = 1
    3B. Check if x >= column(i) ?
        No: i=i+2 jump 3B
        Yes: return column(i+1) jump 4
    
    4. End
    
    10 0,1

    100 0,01

    1000 0001

    1E+307 1E-307

  • 在组件中以双精度读取格式是否合适(例如,将正确读取1E+75)

  • 我不知道该怎么做,所以我需要你的帮助
  • 那是个愚蠢的问题。当然有可能
  • 无论分隔符是空格、换行符还是其他任何东西
  • 加载数字的最简单方法是二进制格式。当然,创建文件会更困难。没有任何指令可以直接为您解析这样一个数字,您需要自己进行解析。除非您被迫从头开始实现,否则您可以调用C库函数
  • 你需要提出比这更具体的问题
  • 我用C()编写了它(for>1),并用gcc-S编译了它。。。我意识到编译器使用C库中的fopen和fscanf,所以我可能也会这样做。