⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 commdefine.h

📁 跨平台int 64位 整数封装类,测试环境vc6 gcc win2003
💻 H
字号:
#ifndef _COMMDEFINE_H
#define _COMMDEFINE_H

#ifdef WIN32

#if (_MSC_VER >= 1300)                  //vc7.1以上
typedef unsigned long long  ULONG64;    ///<64位无符号整数
typedef signed   long long  LONG64;     ///<64位有符号整数
#define INT64C(var) (var## LL)
#else                                   // vc6以及下
#include <ostream>
typedef unsigned __int64    ULONG64;    ///<64位无符号整数
typedef signed   __int64    LONG64;     ///<64位有符号整数

std::ostream & operator<<(std::ostream &os,ULONG64 n)
{
    char buf[40];
    sprintf(buf,"%I64u", n );
    os << buf;
    return os;
}

std::ostream & operator<<(std::ostream &os,LONG64 n)
{
    char buf[40];
    sprintf(buf,"%I64d", n );
    os << buf;
	return os;
}

#define INT64C(var) (var## L)

#endif
#else //gcc版本
typedef unsigned long long  ULONG64;    ///<64位无符号整数
typedef signed   long long  LONG64;     ///<64位有符号整数
#define INT64C(var) ( var ## LL)

#endif

#endif


//使用示例

/*
int main(int argc, char* argv[])
{
	ULONG64  uI64=INT64C(0xFFFFFFFFFFFF23F);
	LONG64   I64=INT64C(0xFFFFFFFFF9);

	uI64 += 231;
	std::cout  << "UI64 is " << uI64 <<" and size is " <<sizeof(uI64) <<std::endl;
	std::cout  << "I64 is " <<" and size is " <<sizeof(I64) <<std::endl;
#ifdef WIN32
	printf("uI64 value is %I64u size is %d I64 is %I64d and size is %d \n",uI64,sizeof(uI64),I64,sizeof(I64));
#else
	printf("uI64 value is %llu size is %d I64 is %lld and size is %d \n",uI64,sizeof(uI64),I64,sizeof(I64));
#endif
	return 0;
}

*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -