我得到了需要通过特定规则转换的8位值。 规则是

  • 值类型是无符号的
  • 步骤是0.1(在文档中保留Res ,我不确定那是什么意思)
  • 偏移量是-10(我也不太清楚)
  • 值范围是[-10,+15.5](包括两者)

我的想法是将其表示为uint8_t ,如果number <= 155返回值是(number*0.1) ,如果number > 155返回值是(-number*0.1) ,但是我不确定它是否符合所有标准(res ,偏移量...)。

===============>>#1 票数:4 已采纳

Res大概是resolution ,这意味着输入整数(值1)的每个“步”等于0.1

Offset描述了与8位输入整数的0相对应的有效值

所以:在范围[-10,15.5]孤单正好255倍的值,用0.1步骤,这意味着每8位整数从该范围对应的值

得到它就做(number * res) + offset

  ask by Dusan Malic translate from so

未解决问题?本站智能推荐:

2回复

使用相同的可见表示将十进制值转换为十六进制值

我正在使用仅以十六进制表示形式输出数字的微控制器。 我有以十进制计算的数据,供人类阅读和解释。 我的输出是三个十进制数字45、27和91,当我输出它们时,得到0x2D,0x1B和0x5B。 我可以执行什么操作将45转换为0x45,将27转换为0x27,依此类推。
2回复

在Visual C ++中将十进制值转换为十六进制[重复]

这个问题已经在这里有了答案: 十进制到十六进制转换C ++内置函数 3个答案 如何在Visual Studio C ++中将十进制值转换为十六进制。 例如,我想将十进制值125转换为十六进制7D。 我可以在C#中使用string hexValue = d
2回复

二进制转换中的十六进制与十进制

例如,这是设置整数变量(例如C ++)的两种方法: 哪个语句将编译更快实际位设置为整数值? 编辑 :*编译从执行更改。 我假设到二进制的转换是在执行时,但考虑到@muntoo的回答,似乎是在编译时
1回复

C ++程序将十进制转换为十六进制

我编写了一个程序,使用对字母的切换命令将十进制字符串转换为十六进制,但是如果使用char,该程序将无法正常运行! 没有切换,我将无法处理高于9的数字。我希望您能理解我,因为我的语言不太好。 所以这是我的程序 顺便说一句,如果将它设置为int而不是char它可以正常工作,但是它变成1
2回复

十六进制到十进制转换的未明确答案

我写的从十六进制到十进制数字的转换是有效的,但会得到一些意外的结果。 预期结果:十六进制数字“ 0000000F”,输出为十进制“ 15” 就我而言 1]如果“ 0000000F”是十六进制值,并且其转换为“ 1532” 2]如果“ 000000FF”是十六进制值,并且其
6回复

将十六进制转换为十进制

我正在寻找一种方法将hex (十六进制)转换为dec (十进制) 。 我找到了一个简单的方法,如: 但有了这个我不能输入265 。 无论如何它是这样的: 输入: 265 输出: 613 反正有吗? 注意:我试过了: 它不起作用。
3回复

将十进制转换为十六进制C ++

我有这段代码,但它似乎只打印十六进制转换的最后4个字符。 输入 :3219668508 输出 :3e1c 预期输出:bfe83e1c 救命?
4回复

递归(十进制到十六进制)C ++

我有这个代码。 我在int main中将它称为hexa(dec); 并且有一个错误,上面写着“函数调用中的参数太少”。 我错的任何想法? 编辑:这是我正在处理的整个代码。 这是一个允许您将十进制转换为二进制,八进制和六进制的程序。 它包括阶乘转换。 如果有人有兴趣帮助或改
1回复

无法正确将十六进制转换为十进制

我在理解十六进制字节时遇到麻烦。 当手册中以十六进制表示的Header ID为7Fh时,则表示0111 1111对吗? 根据在线十六进制十进制转换器,它将转换为十进制127。 我看到的输出是 我在这里做错了什么?
3回复

Arduino十六进制到十进制转换

我需要将十六进制字符串转换为十进制值。 我使用了以下方法。 但是有时它返回错误的十进制值。 十六进制字符串的格式为“ 00 00 0C 6E”