Advertisement
flash_7

Using int 128 in C++

Feb 23rd, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.81 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #ifdef forthright48
  5.     #define myint long long
  6. #else
  7.     #define myint __int128
  8. #endif
  9.  
  10. /// Print a __int128 value:
  11. void print_myint(myint k){
  12.     if(k == 0){
  13.         printf("0");
  14.     }else{
  15.         if(k < 0){
  16.             k = -k;
  17.             printf("-");
  18.         }
  19.         vector<int> v;
  20.         myint ten = 10;
  21.         while(k > 0){
  22.             v.push_back(k%ten);
  23.             k /= ten;
  24.         }
  25.         reverse(v.begin(), v.end());
  26.         for(int i = 0; i<v.size(); i++){
  27.             printf("%d",v[i]);
  28.         }
  29.     }
  30. }
  31.  
  32. /// Take input a __int128 value:
  33. myint input_myint(){
  34.     char s[130];
  35.     scanf("%s",s);
  36.     myint k = 0, ten = 10;
  37.     int i = 0;
  38.     while(s[i]){
  39.         myint d = (s[i] - '0');
  40.         k = k * ten + d;
  41.         i++;
  42.     }
  43.     return k;
  44. }
  45.  
  46. int main(){
  47.     myint k = input_myint();
  48.     print_myint(k);
  49.     printf("\n");
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement