十六进制值到自定义十进制值

时间:2015-08-11 13:21:43

标签: c++ hex decimal

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

  • 值类型未签名
  • 步骤为0.1(在文档中 Res ,我不确定这意味着什么)
  • 偏移是-10(对我来说也不是很清楚)
  • 值范围为[-10,+ 15.5](包括两者)

我的想法是将其表示为ClassCastException,如果uint8_t返回值为number <= 155,而(number*0.1)返回值为number > 155,但我是&#39 ;我不确定它是否符合所有标准(res,offset ...)。

1 个答案:

答案 0 :(得分:4)

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

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

所以:在[-10,+ 15.5]范围内,正好是255个值,步长为0.1,意味着每个8位整数都具有该范围内的对应值

只需执行(number * res) + offset

即可