作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
那么我正在查看的数据类型是什么。我知道 AS3 数字是 64 位,但它是 double 的。我正在将代码转换为 C++,因为在 AS3 中这样做是有效的:
var i:Number = 123;
i >> 3; // Yeah shift right a double precision datatype
所以在 C++ 中,我现在需要一个在 AS3 中数字类型整数范围内的数据类型( double )。请注意,我正在转换和编码/解码以前用于 AS3 代码的函数,因此我必须得到相同的结果。
提前致谢。
最佳答案
AS3 移位运算符将被移位的表达式和移位量转换为 32 位整数。在 C++ 中,您可以通过将 double 数据类型转换为 int 并进行移位来模拟此行为:
#include <iostream>
int main(int argc, char **argv) {
double i(91.5);
int v(static_cast<int>(i) >> 3);
std::cout << "v = " << v << std::endl; // outputs "v = 11"
return 0;
}
关于c++ - 对应于 AS3 Number (Integral) 的 C++ 数据类型是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12695514/
我是一名优秀的程序员,十分优秀!