打印
[STM8]

8位机数据类型和处理

[复制链接]
1346|29
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
renyaq|  楼主 | 2020-6-2 23:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
8位机能定义的数据最大就是long 4个字节了,假如有个6字节的数组 FF FF FF FF FF FF对应的十进制就是 281474976710655,请问各位高人如何将这六个字节的数转为十进制?

使用特权

评论回复
沙发
wenfen| | 2020-6-2 23:13 | 只看该作者

网上有任意长数据转换成十进制 的算法. 参考一下.
逐次除以10 求余数

使用特权

评论回复
板凳
renyaq|  楼主 | 2020-6-2 23:16 | 只看该作者

是的,需要专家级指来解答,网上找了些算法都不适用于8位机,还请大虾指点迷津

使用特权

评论回复
地板
zhuhuis| | 2020-6-2 23:20 | 只看该作者
从高到低, 每个字节依次除以10 求余数, 余数作为后个字节的高字节, 最后一个余数输出结果.
循环到商为0 为止.

使用特权

评论回复
5
renyaq|  楼主 | 2020-6-2 23:26 | 只看该作者
你好,能详细描述一下吗?我还是没能理解,谢谢

使用特权

评论回复
6
songqian17| | 2020-6-2 23:30 | 只看该作者
那只是存储的形式,你读出来本显示为10进制就是十进制了。

使用特权

评论回复
7
chenho| | 2020-6-2 23:33 | 只看该作者
这个是对应多大的数据?

使用特权

评论回复
8
zwll| | 2020-6-2 23:36 | 只看该作者

这么长的字节吗

使用特权

评论回复
9
chuxh| | 2020-6-2 23:39 | 只看该作者
转换为十进制怎么计算?

使用特权

评论回复
10
juventus9554| | 2020-6-2 23:45 | 只看该作者
这个没有看懂楼主要实现什么功能呢?

使用特权

评论回复
11
dingy| | 2020-6-2 23:49 | 只看该作者
这么大的数据是用来计算什么的

使用特权

评论回复
12
pengf| | 2020-6-2 23:52 | 只看该作者
逐次除以10求余然后跟下一位相加。

使用特权

评论回复
13
supernan| | 2020-6-2 23:55 | 只看该作者
直接使用除10取余数。

使用特权

评论回复
14
houcs| | 2020-6-2 23:58 | 只看该作者
long也可以在单片机计算的。

使用特权

评论回复
15
ayb_ice| | 2020-6-3 17:22 | 只看该作者
本帖最后由 ayb_ice 于 2020-6-3 17:27 编辑

这时应该转到浮点数处理了,

当然也可以自己处理,按位权来处理就可以,2^N次方是已知的值,比如FF FF FF FF FF,最高位是1(2进制),就是2^39=549,755,813,888,每位判断下,然后累加

另外还有一种循环BCD码处理,网上搜索一下就知道了,适用于任意长度


使用特权

评论回复
16
liuzaiy| | 2020-6-3 21:13 | 只看该作者
直接转换变量就可以实现。

使用特权

评论回复
17
lizye| | 2020-6-3 21:16 | 只看该作者
这个类型不能直接计算吗

使用特权

评论回复
18
yinxiangh| | 2020-6-3 21:19 | 只看该作者
这个类型不能直接计算吗

使用特权

评论回复
19
pangb| | 2020-6-3 21:22 | 只看该作者

直接把这些数据转换为long类型,然后对应10进制函数。

使用特权

评论回复
20
ousj| | 2020-6-3 21:27 | 只看该作者
除10 然后取余数,再循环计算。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

700

主题

10138

帖子

4

粉丝