中国优质的IT技术网站
专业IT技术创作平台
IT职业在线教育平台
希望提供Java里的Float.intBitsToFloat()和Float.floatToIntBits()的ArkTs实现
微信扫码分享
ArkTs中无对应的实现,建议利用java api 进行封装下。 arkts 与java 交互参考 https://gitee.com/arkui-x/docs/blob/master/zh-cn/application-dev/tutorial/how-to-use-bridge-on-android.md intBitsToFloat改造如下: function intBitsToFloat(bits:number) { if (bits == 0x7f800000) { return Infinity } if (bits == 0xff800000) { return -Infinity } if ((bits >= 0x7f800001 && bits <= 0x7fffffff) || (bits >= 0xff800001 && bits <= 0xffffffff)) { return NaN } let s = ((bits >> 31) == 0) ? 1 : -1; // 符号符 let e = ((bits >> 23) & 0xff); // 阶码 let m = (e == 0) ? // 基数 (bits & 0x7fffff) << 1 : (bits & 0x7fffff) | 0x800000; return s * m * 2 ** (e - 150) } console.log( intBitsToFloat(123).toPrecision(3)+ ‘’)