Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 闪存中的数字位_Flash_Actionscript 3_Floating Point_Bit Manipulation - Fatal编程技术网

Flash 闪存中的数字位

Flash 闪存中的数字位,flash,actionscript-3,floating-point,bit-manipulation,Flash,Actionscript 3,Floating Point,Bit Manipulation,在闪存中,对数字执行位操作总是会去除浮动部分。 在flash中,有没有办法获取数字的位表示形式 我曾尝试过谷歌搜索,但要么我无法很好地表达它,要么它不那么容易找到 编辑,以澄清一些问题:我专门指定了Number,即在Flash中表示浮点数的类,而不是一般的Number。我想我可以在flash中写下有没有一种方法可以得到浮点数的位表示?如果你只想打印出二进制表示(即2=10),你可以使用数字函数并指定一个基数值 前 我能想到的唯一方法就是使用ByteArray 大概是这样的: va

在闪存中,对数字执行位操作总是会去除浮动部分。
在flash中,有没有办法获取数字的位表示形式

我曾尝试过谷歌搜索,但要么我无法很好地表达它,要么它不那么容易找到


编辑,以澄清一些问题:我专门指定了Number,即在Flash中表示浮点数的类,而不是一般的Number。我想我可以在flash中写下有没有一种方法可以得到浮点数的位表示?

如果你只想打印出二进制表示(即2=10),你可以使用数字函数并指定一个基数值


我能想到的唯一方法就是使用
ByteArray

大概是这样的:

        var x:Number = 1.532;
        var ba:ByteArray = new ByteArray();
        ba.writeDouble(x);
        ba.position = 0;

        var high32bits:uint = ba.readUnsignedInt();
        var low32bits:uint = ba.readUnsignedInt();

        trace(high32bits.toString(16));  // 3ff88312
        trace(low32bits.toString(16));   // 6e978d50

恐怕不行:
Number(1.532)和<代码>编号(1.0)。toString(2)都给出
1
。好主意!这是一个非常好的工作环境,但它确实有效。不过,我还是想知道是否有更好的方法。
        var x:Number = 1.532;
        var ba:ByteArray = new ByteArray();
        ba.writeDouble(x);
        ba.position = 0;

        var high32bits:uint = ba.readUnsignedInt();
        var low32bits:uint = ba.readUnsignedInt();

        trace(high32bits.toString(16));  // 3ff88312
        trace(low32bits.toString(16));   // 6e978d50