在词法计数器中如何实现科学计数法(用C或C++),含有能够查出错误的机制,伪代码也可以的。。。

2025-03-03 17:22:54
推荐回答(1个)
回答1:

1)符号( 或-0~1个)
2)小数点前的整数部分(数字0~n个前导0只有一个)
3)小数点(.1个)
4)小数部分(数字0~n个)
5)指数部分的标志(比如E,1个,没有为0个无指数部分一一这种数不需要科学计数法)
6)指数部分的符号( 或减-,0~1个)
7)指数(数字,0~N个)
PS:科学计数法有两种标准形式
1)士d.d…d*10^士e…e
2)士0.d…d*10^士e…e
其中10^n借用matlab的指数表示方法,c,cxx,Fortran科学计数法一般用E代替,Fortran双精度用D表示
c,cxx的科学计数法用前一种形式,Fortran用第二种形式,二者的区别在小数点前是0还是>0的数字,数学上的科学计数法,小数和措数部分用乘号,指数用上标表示底数10要写出来!所以要看你采用哪种方式的科学计数法!词法分析用正则表达式写出来,或者用那个什么范式描述一下,可以自动生成的吧!语法图 描述一下也可以。