将uint8转到float32

时间:2017-09-08 15:16:59

标签: math go

我正在尝试学习Go并使用降雨强度工具。 对于这个工具,我必须进行这样的计算:

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

值为uint8,范围为0到255.强度变量为浮点数。

然而,Go告诉我

  

不能在赋值中使用10 ^(value - 109)/ 32(类型uint8)作为float32类型

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

  1. Go中没有{'AttributeName': "user", 'AttributeType': "N"}, 运算符且÷是按位异或,您需要使用^ package
  2. 中的Pow函数
  3. Go对类型转换非常严格,因此在许多情况下它不允许隐式类型转换(因此无符号整数到浮点无效),因此您需要使用math显式转换它,即{{1} }
  4. 那说:

    type(expr)