脚本宝典收集整理的这篇文章主要介绍了为什么PHP使用Zend_Amf将数字16转换为float(6.1026988574311E_320),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经尝试在PHP中强制转换为整数(上面的值被舍入为0),并且还使用int(16)从Actionscript中强制转换 – 后者通过NULL来实现.如何确保Flash通过AMF返回一个整数并且PHP可以处理它?
#include <stdio.h> #include <stdint.h> int main(void) { double d = 16; uint32_t *i = (uint32_t *)(&d); uint8_t *c = (uint8_t *)(&d); size_t j; PRintf("%08x %08x %lg\n",i[1],i[0],d); for(j = 0; j < sizeof(double) / 2; j++) { uint8_t tmp; tmp = c[j]; c[j] = c[sizeof(double) - j - 1]; c[sizeof(double) - j - 1] = tmp; } printf("%08x %08x %lg\n",d); return 0; }
40300000 00000000 16 00000000 00003040 6.1027e-320
以上是脚本宝典为你收集整理的为什么PHP使用Zend_Amf将数字16转换为float(6.1026988574311E_320)全部内容,希望文章能够帮你解决为什么PHP使用Zend_Amf将数字16转换为float(6.1026988574311E_320)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。