首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何映射tinygo中的两个值范围

如何映射tinygo中的两个值范围
EN

Stack Overflow用户
提问于 2021-11-05 21:07:44
回答 1查看 77关注 0票数 1

我用Golang来用丁尼哥编程一个arduino uno。我正在试图映射两个值范围。

一个是一个范围在0-1000之间的编码器,另一个是tinygo的模数转换器范围在0-65535之间.我正在读取ADC范围,需要将其转换到0-1000 (编码器)的范围。

我尝试过几种方法,但我遇到的基本问题是数据类型。例如,下面的公式等于0:

代码语言:javascript
复制
var encoderValue uint16 = 35000
float := float64(1000/65535) * float(encoderValue)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-05 21:17:49

1000/65535是一个整数除法,它将导致0。如果将结果转换为float64并不重要,那么它将是0.0

使用浮点常量:

代码语言:javascript
复制
var encoderValue uint16 = 35000
x := float64(1000.0/65535) * float64(encoderValue)
fmt.Println(x)

这将输出(在围棋游乐场上尝试它):

代码语言:javascript
复制
534.0657663843748
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69859246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档