I got double type value as int form like no decimal digit. But when I typecast that value to int, the value reduces by 1.
Like, val of type double, on calculation comes out to be 4. But when I typecast (int)val, then val becomes 3.
I believe there is some interesting answers for this.
CODE:
#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
int a,b;
cin>>a>>b;
double res = log(a)/log(b);
cout<<"res (double) "<<res<<"\n";
cout<<"res (int) "<<(int)res<<"\n";
}
return 0;
}
Input
2
571787 83
445943744 764
Output
res (double) 3
res (int) 2
res (double) 3
res (int) 2