1.将long转换为__int64
Acorrding到MSDN上的__int64关键字:
_ _int64关键字声明一个新类型,一个64位(8字节)整数.与int,short和long类型一样,_ _int64类型具有相应的无符号版本,因此_ _int64关键字实际上可用于创建两种类型.
以下代码示例演示如何声明两个64位整数,一个是有符号的,另一个是无符号的:
__int64 signed_big_int; unsigned __int64 unsigned_big_int;
__int64已签名,它应该比long.更宽.所以你可以分配long给__int64甚至没有类型演员,当然signed __int64支持负面长.
2.将__int64转换为long
可以转换__int64为long,只有丢失数据的可能性.我的msvc8只警告我丢失数据的可能性.
3.注意:
C99定义了一个标准的64位整数类型命名int64_t和无符号版本uint64_t.stdint.h如果你想提供可移植代码,你应该使用它们,但不是__int64.
请注意,有在C++编程语言,MSVC没有使用标准的64位整数类型__int64,但在Linux世界中通常使用int64_t或uint64_t它的类型定义为long long或unsigned long long在C99的stdint.h.在这里我假设你的C++编译器支持的stdint.h头文件.
| 归档时间: |
|
| 查看次数: |
13986 次 |
| 最近记录: |