iostream重载__int128
Normal (Naive)写法,用 string(char* )
std::ostream& operator <<(std::ostream&out,const  __int128 b) {
  std::string s;  __int128 t = b;int sig = 1;
  if(t < 0) sig = -1,t = -t;
  for(;t;t/=10) s += '0' + t % 10;
  if(sig == -1) s += '-';
  reverse(s.begin(), s.end());
  if(s.length() == 0) s += '0';
  out << s ;
  return out;
}
/********* istrream 类似读入挂 O(∩_∩)O *************/
我突然有个大胆的想法系列
std::ostream& operator <<(std::ostream&out, __int128 x) {
  if(x < 0) {out << "-"; out << -x; return out;}
  if(x == 0) {out << "0"; return out;}
  if(x > 10) out << x / 10;
  out << "0123456789"[x % 10];
  return out;
}
std::istream& operator >>(std::istream&in, __int128 &x) {
  char c;
  while(c = in.get(), c != '-' && !isdigit(c));
  if(c == '-') {x = '0' - (c = in.get()); while(isdigit(c = getchar()))x = x * 10 + '0' - c;}
  else {x = c - '0'; while(isdigit(c = in.get()))x = x * 10 - '0' + c;};
  return in;
}
												
											iostream重载__int128的更多相关文章
- C++ 运算符重载时,将运算符两边对象交换问题.
		
在C++进行运算符重载时, 一般来讲,运算符两边的对象的顺序是不能交换的. 比如下面的例子: #include <iostream> using namespace std; class ...
 - c++文件输入输出流fstream,对输入>>和输出<<重载
		
1. fstream 继承自iostream --> 要包含头文件#include<fstream> 2. 建立文件流对象 3. 打开文件夹 4. 测试是否打开成功 5. 进行读写操 ...
 - 虚函数的使用 以及虚函数与重载的关系, 空虚函数的作用,纯虚函数->抽象类,基类虚析构函数使释放对象更彻底
		
为了访问公有派生类的特定成员,可以通过讲基类指针显示转换为派生类指针. 也可以将基类的非静态成员函数定义为虚函数(在函数前加上virtual) #include<iostream> usi ...
 - c++面试常用知识(sizeof计算类的大小,虚拟继承,重载,隐藏,覆盖)
		
一. sizeof计算结构体 注:本机机器字长为64位 1.最普通的类和普通的继承 #include<iostream> using namespace std; class Parent ...
 - C++运算符重载
		
C++运算符重载 基本知识 重载的运算符是具有特殊名字的函数,他们的名字由关键字operator和其后要定义的运算符号共同组成. 运算符可以重载为成员函数和非成员函数.当一个重载的运算符是成员函数时, ...
 - 标准C++之运算符重载和虚表指针
		
1 -> *运算符重载 //autoptr.cpp #include<iostream> #include<string> using namespace std ...
 - STL学习之运算符(<<)重载问题和仿函数的实现
		
/* 运算符<<的重载一直报错, 友原函数中可以访问到类的私有成员*/#include<iostream>using namespace std; class MyIn ...
 - Javascript函数重载,存在呢—还是存在呢?
		
1.What's is 函数重载? );//Here is int 10 print("ten");//Here is string ten } 可以发现在C++中会根据参数的类型 ...
 - javascript 函数重载 overloading
		
函数重载 https://en.wikipedia.org/wiki/Function_overloading In some programming languages, function over ...
 
随机推荐
- 【概率论】3-4:二维分布(Bivariate Distribution)
			
title: [概率论]3-4:二维分布(Bivariate Distribution) categories: Mathematic Probability keywords: Discrete J ...
 - Applications (ZOJ 3705)
			
题解:就是题目有点小长而已,可能会不想读题,但是题意蛮好理解的,就是根据条件模拟,计算pts.(送给队友zm. qsh,你们不适合训练了.) #include <iostream> #in ...
 - SQL SERVER可重复执行建表、建字段语句
			
/*问题:type in (N'U') 中的N和U是什么意思? 答案:N是指Unicode编码,防止乱码:U是指用户表*/IF NOT EXISTS (SELECT * FROM sys.object ...
 - 微信小程序之简单记账本开发记录(一)
			
下载并安装微信开发者工具 在选择开发记账本程序的时候犹豫着选择android studio还是微信小程序 最后选择了微信小程序,因其便利和快捷. 话不多说,第一步,下载并安装微信开发者工具.下面是教程 ...
 - JavaWeb_(Spring框架)注解配置
			
系列博文 JavaWeb_(Spring框架)xml配置文件 传送门 JavaWeb_(Spring框架)注解配置 传送门 Spring注解配置 a)导包和约束:基本包.aop包+context约束 ...
 - 网络文件共享服务—NFS服务
			
NFS服务 NFS:Network File System 网络文件系统,基于内核的文件系统: Sun公司开发,通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,基于RPC(Rem ...
 - 在阿里云上挂在/data脚本
			
在阿里云上加好一块磁盘后,将他分区,挂在在/data,并且设置开机自动挂在/etc/fstab [root@ZHONG-LONG javascripts]# vim mount.sh #!/bin/b ...
 - 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_8.RabbitMQ研究-工作模式-发布订阅模式-生产者
			
Publish/subscribe:发布订阅模式 发布订阅模式: 1.每个消费者监听自己的队列. 2.生产者将消息发给broker,由交换机将消息转发到绑定此交换机的每个队列,每个绑定交换机的队列都将 ...
 - Python xlwt 模块执行出错Exception: String longer than 32767 characters
			
使用Python搜集数据时用到xlwt保存到excel文件,但是数据量有点大时出现 Exception: String longer than 32767 characters 搜索类似的问题都是建议 ...
 - Python实现的选择排序算法原理与用法实例分析
			
Python实现的选择排序算法原理与用法实例分析 这篇文章主要介绍了Python实现的选择排序算法,简单描述了选择排序的原理,并结合实例形式分析了Python实现与应用选择排序的具体操作技巧,需要的朋 ...