众所周知,用类写一种数据类型很容易,上代码!
/*实现数据类型*/
class Short{
public:
#define Shortsize 16
bool fu;
bool data[Shortsize];
void ShortAnd(int wei=0){
if(data[wei]){
data[wei]=0;
ShortAnd(wei+1);
}else{
data[wei]=1;
}
}
template<typename T>
Short(T i=0){
while(1)
if(i>0){
(*this)++;
i--;
}else{
break;
}
}
Short(){
Short s(0);
*this=s;
}
Short operator++(int){
Short s=*this;
const int wei=0;
if(data[wei]){
data[wei]=0;
ShortAnd(wei+1);
}else{
data[wei]=1;
}
return s;
}
Short operator++(){
const int wei=0;
if(data[wei]){
data[wei]=0;
ShortAnd(wei+1);
}else{
data[wei]=1;
}
return *this;
}
operator short(){
short ret(0);
for(int i=0;i<Shortsize;i++){
if(data[i]){
if(i==0){
ret++;
}else{
ret+=i*2;
}
}
}
return ret;
}
};
class Int{
public:
#define Intsize 32
bool fu;
bool data[Intsize];
void IntAnd(int wei=0){
if(data[wei]){
data[wei]=0;
IntAnd(wei+1);
}else{
data[wei]=1;
}
}
template<typename T>
Int(T i=0){
while(1)
if(i>0){
(*this)++;
i--;
}else{
break;
}
}
Int(){
Int s(0);
*this=s;
}
Int operator++(int){
Int s=*this;
const int wei=0;
if(data[wei]){
data[wei]=0;
IntAnd(wei+1);
}else{
data[wei]=1;
}
return s;
}
Int operator++(){
const int wei=0;
if(data[wei]){
data[wei]=0;
IntAnd(wei+1);
}else{
data[wei]=1;
}
return *this;
}
operator int(){
int ret(0);
for(int i=0;i<Intsize;i++){
if(data[i]){
if(i==0){
ret++;
}else{
ret+=i*2;
}
}
}
if(fu){
ret= -ret;
}
return ret;
}
};
class Long{
public:
#define Longsize 64
bool fu;
bool data[Longsize];
void LongAnd(int wei=0){
if(data[wei]){
data[wei]=0;
LongAnd(wei+1);
}else{
data[wei]=1;
}
}
template<typename T>
Long(T i=0){
while(1)
if(i>0){
(*this)++;
i--;
}else{
break;
}
}
Long(){
Long s(0);
*this=s;
}
Long operator++(int){
Long s=*this;
const int wei=0;
if(data[wei]){
data[wei]=0;
LongAnd(wei+1);
}else{
data[wei]=1;
}
return s;
}
Long operator++(){
const int wei=0;
if(data[wei]){
data[wei]=0;
LongAnd(wei+1);
}else{
data[wei]=1;
}
return *this;
}
operator long(){
long ret(0);
for(int i=0;i<Longsize;i++){
if(data[i]){
if(i==0){
ret++;
}else{
ret+=i*2;
}
}
}
if(fu){
ret= -ret;
}
return ret;
}
};
你就说闲不闲吧 !
希望大家能献出自己宝贵的赞,谢谢!