摘要: 經過整整一個上午的時間,總算將之前的自動機的操作運算加進了初等函數,主要包括一些三角函數(sin,cos,tan)和log,ln等,奇怪的是控制臺下包含的math頭文件里面竟然沒有cot的操作函數囧,最終在 .Net下引入的命名空間System下的math類庫也是一樣,幸虧咱的數學功底還行,還知道cotx*tanx=1,最后實在要加cot函數操作咱就來個cotx=1/tanx,呵呵,猥瑣猥瑣...
在加入初等函數操作的同時還拓展了操作數的范圍,之前是對非負實數的運算,現在可以到整個實數范圍,即加入負數的操作。
這兩項功能的拓展說到底其實就是加入單目運算符而已。在轉后綴表達式的階段掃描到這類運算符時立馬將其壓入棧內即可,與此同時后期在對后綴表達式進行運算時從棧內只彈出一個操作數進行所需要的運算即可。
閱讀全文