希望提供Java里的Float.intBitsToFloat()和Float.floatToIntBits()的ArkTs实现

希望提供Java里的Float.intBitsToFloat()和Float.floatToIntBits()的ArkTs实现

HarmonyOS
2024-05-10 22:37:02
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
退休的程序员
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)+ ‘’)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
分享
微博
QQ
微信
回复
2024-05-11 11:30:43


相关问题
HarmonyOS 希望提供napi版音频采集demo
882浏览 • 1回复 待解决
HarmonyOS 希望官方提供日历组件
1102浏览 • 1回复 待解决
HarmonyOS 希望提供滑动控件Demo
611浏览 • 1回复 待解决
HarmonyOS 希望提供日期组件Demo
725浏览 • 1回复 待解决
HarmonyOS 希望提供分享弹窗Demo
765浏览 • 1回复 待解决