7,765
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <cmath>
using namespace std;
int titleToNumber(string s) {
int n = 0, len = s.length();
for(int i = 0; i < s.length(); ++ i) {
char c = s[i];
int chara = c - 'A' + 1;
cout<<"chara = " << chara << endl;
n += chara * pow(26, len - 1 - i);
cout<<"pow = " << pow(26.0, len - 1 - i) << endl;
cout<<"n = " << n << endl;
cout<<endl;
}
return n;
}
int main() {
cout<<titleToNumber("AAB");
return 0;
}
#include <iostream>
#include <cmath>
using namespace std;
int G3G5G7(){ return pow(26, 2); }
int main(){ return G3G5G7(); }
反汇编1
:004013E0 55 push ebp
:004013E1 89E5 mov ebp, esp
:004013E3 83EC18 sub esp, 00000018
:004013E6 C744240402000000 mov [esp+04], 00000002
:004013EE C704241A000000 mov dword ptr [esp], 0000001A
:004013F5 E85E6D0000 call 00408158 ;调用的函数是strdup?????
:004013FA D97DF6 fstcw word ptr [ebp-0A]
:004013FD 0FB745F6 movzx eax, word ptr [ebp-0A]
:00401401 B40C mov ah, 0C
:00401403 668945F4 mov word ptr [ebp-0C], ax
:00401407 D96DF4 fldcw [ebp-0C]
:0040140A DB5DF0 fistp dword ptr [ebp-10]
:0040140D D96DF6 fldcw [ebp-0A]
:00401410 8B45F0 mov eax, dword ptr [ebp-10]
:00401413 C9 leave
:00401414 C3 ret
代码2
#include <iostream>
#include <cmath>
//此处去掉了using
int G3G5G7(){ return pow(26, 2); }
int main(){ return G3G5G7(); }
反汇编2
:004013E0 55 push ebp
:004013E1 89E5 mov ebp, esp
:004013E3 B8A4020000 mov eax, 000002A4 ;居然在编译阶段已经算好了676
:004013E8 5D pop ebp
:004013E9 C3 ret