登录
首页 >  Golang >  Go问答

浅析tinygo怎么映射两个值范围

来源:Golang技术栈

时间:2023-03-10 15:14:46 121浏览 收藏

你在学习Golang相关的知识吗?本文《浅析tinygo怎么映射两个值范围》,主要介绍的内容就涉及到golang,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

我正在使用 Golang 用 tinygo 编写 arduino uno。我正在尝试映射两个值范围。
一个是编码器,范围在 0-1000 之间,另一个是 tinygo 的 ADC 范围在 0-65535 之间。我正在读取 ADC 范围,需要将其转换为 0-1000(编码器)的范围。

我已经尝试了几件事,但我遇到的基本问题是数据类型。例如,以下公式等于 0:

var encoderValue uint16 = 35000
float := float64(1000/65535) * float(encoderValue)

正确答案

1000/65535是一个整数除法,将导致0. 如果将结果转换为 没关系float64,那么它将是0.0

使用浮点常量:

var encoderValue uint16 = 35000
x := float64(1000.0/65535) * float64(encoderValue)
fmt.Println(x)

这将输出(在Go Playground上尝试):

534.0657663843748

好了,本文到此结束,带大家了解了《浅析tinygo怎么映射两个值范围》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>