gpt4 book ai didi

math - 将 uint8 转为 float32

转载 作者:数据小太阳 更新时间:2023-10-29 03:43:29 29 4
gpt4 key购买 nike

我正在尝试学习 Go 并研究降雨强度工具。对于此工具,我必须进行如下计算:

var intensity float32
intensity = 10^((value−109)÷32)

值是一个 uint8,范围从 0 到 255。强度变量是一个 float 。

但是,Go 告诉我

cannot use 10 ^ (value - 109) / 32 (type uint8) as type float32 in assignment

我该如何解决这个问题?

最佳答案

  1. Go 中没有÷ 运算符,^ 是按位异或,需要使用math< 中的Pow 函数
  2. Go 对类型转换非常严格,因此在很多情况下它不允许隐式类型转换(因此无符号整数到 float 是无效的),因此您需要使用 type(expr) 显式转换它,即 float32(1)

也就是说:

intensity = float32(math.Pow(10, float64((value - 109) / 32)))
// - OR -
intensity = float32(math.Pow10(int((value - 109) / 32)))

关于math - 将 uint8 转为 float32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46119678/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com