Language: C++

#include<bits/stdc++.h>
using namespace std;
int main() {
  long long a;
  float b;
  cin >> a >> b;
  long long c=a*b;
  if (c<=1000000000) cout << c;
  else {
  stringstream d(c);
  double e;
  char f='e';
  char g='+';
    int h;
  d << e << f << g << h;
    stringstream i(e);
    int j;
    long long k;
    char l='.';
    i << j << l << k;
    for (int aa=0;aa<18;aa++) {
      if (k<10^aa) {h-=aa;break;}
    }
    cout << j << k;
    for (int aa=0;aa<h;aa++) cout << "0";
  }
  return 0;
}

Compiler output:
a.cc: In function 'int main()':
a.cc:10:18: error: invalid conversion from 'long long int' to 'std::ios_base::openmode' [-fpermissive]
   10 |   stringstream d(c);
      |                  ^
      |                  |
      |                  long long int
In file included from /usr/include/c++/14/complex:45,
                 from /usr/include/c++/14/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:127,
                 from a.cc:1:
/usr/include/c++/14/sstream:1043:45: note:   initializing argument 1 of 'std::__cxx11::basic_stringstream<_CharT, _Traits, _Alloc>::basic_stringstream(std::ios_base::openmode) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::ios_base::openmode = std::ios_base::openmode]'
 1043 |       basic_stringstream(ios_base::openmode __m)
      |                          ~~~~~~~~~~~~~~~~~~~^~~
a.cc:16:21: error: no matching function for call to 'std::__cxx11::basic_stringstream<char>::basic_stringstream(double&)'
   16 |     stringstream i(e);
      |                     ^
/usr/include/c++/14/sstream:1076:7: note: candidate: 'std::__cxx11::basic_stringstream<_CharT, _Traits, _Alloc>::basic_stringstream(std::__cxx11::basic_stringstream<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'
 1076 |       basic_stringstream(basic_stringstream&& __rhs)
      |       ^~~~~~~~~~~~~~~~~~
/usr/include/c++/14/sstream:1076:47: note:   no known conversion for argument 1 from 'double' to 'std::__cxx11::basic_stringstream<char>&&'
 1076 |       basic_stringstream(basic_stringstream&& __rhs)
      |                          ~~~~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/c++/14/sstream:1059:7: note: candidate: 'std::__cxx11::basic_stringstream<_CharT, _Traits, _Alloc>::basic_stringstream(const __string_type&, std::ios_base::openmode) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; __string_type = std::__cxx11::basic_string<char>; std::ios_base::openmode = std::ios_base::openmode]'
 1059 |       basic_stringstream(const __string_type& __str,
      |       ^~~~~~~~~~~~~~~~~~
/usr/include/c++/14/sstream:1059:47: note:   no known conversion for argument 1 from 'double' to 'const std::__cxx11::basic_stringstream<char>::__string_type&' {aka 'const std::__cxx11::basic_string<char>&'}
 1059 |       basic_stringstream(const __string_type& __str,
      |                          ~~~~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/c++/14/sstream:1043:7: note: candidate: 'std::__cxx11::basic_stringstream<_CharT, _Traits, _Alloc>::basic_stringstream(std::ios_base::openmode) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::ios_base::openmode = std::ios_base::openmode]'
 1043 |       basic_stringstream(ios_base::openmode __m)
      |       ^~~~~~~~~~~~~~~~~~
/usr/include/c++/14/sstream:1043:45: note:   no known conversion for argument 1 from 'double' to 'std::ios_base::openmode'
 1043 |       basic_stringstream(ios_base::openmode __m)
      |                          ~~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/14/sstream:1028:7: note: candidate: 'std::__cxx11::basic_stringstream<_CharT, _Traits, _Alloc>::basic_stringstream() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'
 1028 |       basic_stringstream()
      |       ^~~~~~~~~~~~~~~~~~
/usr/include/c++/14/sstream:1028:7: note:   candidate expects 0 arguments, 1 provided