打印

如何将一个16位二进制的数转换为十进制数?

[复制链接]
6256|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
乱世流年|  楼主 | 2014-4-28 12:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
hxfxt| | 2014-4-28 15:11 | 只看该作者
强制转换应该就可以了呢!

使用特权

评论回复
板凳
乱世流年|  楼主 | 2014-4-28 15:48 | 只看该作者
hxfxt 发表于 2014-4-28 15:11
强制转换应该就可以了呢!

那怎么来个强制转换呢?

使用特权

评论回复
地板
hxfxt| | 2014-4-28 16:32 | 只看该作者
乱世流年 发表于 2014-4-28 15:48
那怎么来个强制转换呢?

C语言书上看下 各类数值类型间的混合运算 和 算术运算符和算术表达式 呢!看看别人的AD的数据怎么处理的呢!

使用特权

评论回复
5
乱世流年|  楼主 | 2014-4-28 16:54 | 只看该作者
hxfxt 发表于 2014-4-28 16:32
C语言书上看下 各类数值类型间的混合运算 和 算术运算符和算术表达式 呢!看看别人的AD的数据怎么处理的 ...

嗯嗯,好的,我找找看,谢谢啊。

使用特权

评论回复
6
vivilzb1985| | 2014-4-28 18:45 | 只看该作者
这个不是很难得吧,就是2^n方的累加的么

使用特权

评论回复
7
dirtwillfly| | 2014-4-28 20:32 | 只看该作者
2进制与10进制转换,楼主有什么问题?

使用特权

评论回复
8
乱世流年|  楼主 | 2014-4-29 14:29 | 只看该作者
vivilzb1985 发表于 2014-4-28 18:45
这个不是很难得吧,就是2^n方的累加的么

意思是将每一位取出来然后乘以相应的权是吧?但是太麻烦了

使用特权

评论回复
9
乱世流年|  楼主 | 2014-4-29 14:29 | 只看该作者
dirtwillfly 发表于 2014-4-28 20:32
2进制与10进制转换,楼主有什么问题?

怎么写个函数将16位二进制数转换为一个十进制的数?

使用特权

评论回复
10
zxzxzx123211f| | 2014-4-29 22:36 | 只看该作者
无论怎么转换,计算机用的都是二进制吧,
是想将16位2进制数转为10进制显示输出吗?

使用特权

评论回复
11
乱世流年|  楼主 | 2014-4-30 08:47 | 只看该作者
zxzxzx123211f 发表于 2014-4-29 22:36
无论怎么转换,计算机用的都是二进制吧,
是想将16位2进制数转为10进制显示输出吗? ...

对对对,就是这个意思

使用特权

评论回复
12
popeye021| | 2014-4-30 10:19 | 只看该作者
乱世流年 发表于 2014-4-30 08:47
对对对,就是这个意思

用/和%这两个操作符就行了,具体的你自己动脑吧:lol

使用特权

评论回复
13
乱世流年|  楼主 | 2014-4-30 12:04 | 只看该作者
popeye021 发表于 2014-4-30 10:19
用/和%这两个操作符就行了,具体的你自己动脑吧

如果是普通的显示我知道怎么写,就是
        wan=num/10000;
        qian=num/1000-wan*10;
        bai=num/100-wan*100-qian*10;
        shi=num/10-wan*1000-qian*100-bai*10;
        ge=num-wan*10000-qian*1000-bai*100-shi*10;
但是我要是想先得到一个五位数的整数,怎么办?

使用特权

评论回复
14
popeye021| | 2014-4-30 13:16 | 只看该作者
乱世流年 发表于 2014-4-30 12:04
如果是普通的显示我知道怎么写,就是
        wan=num/10000;
        qian=num/1000-wan*10;

你要这个五位整数干嘛用?
计算机对于所有数的存储都是二进制。

使用特权

评论回复
15
popeye021| | 2014-4-30 13:20 | 只看该作者
乱世流年 发表于 2014-4-30 12:04
如果是普通的显示我知道怎么写,就是
        wan=num/10000;
        qian=num/1000-wan*10;

把你的具体应用说清楚,你的最终目的。比如说,要在数码管上显示5位数据什么的。
新手有时候对一些基本概念不清楚,不说出最终目的,很难让人理解。

使用特权

评论回复
16
乱世流年|  楼主 | 2014-4-30 16:18 | 只看该作者
popeye021 发表于 2014-4-30 13:20
把你的具体应用说清楚,你的最终目的。比如说,要在数码管上显示5位数据什么的。
新手有时候对一些基本概 ...

对于显示来说,上面的就可以实现,但是对于我想将这个数采集后通过串口发送到计算机上后显示来说,那要做就不可取,因为我要得到一个五位数的整数

使用特权

评论回复
17
popeye021| | 2014-4-30 16:26 | 只看该作者
乱世流年 发表于 2014-4-30 16:18
对于显示来说,上面的就可以实现,但是对于我想将这个数采集后通过串口发送到计算机上后显示来说,那要做 ...

你的数据是16位的AD值,两个字节,直接把这两个字节发送给上位机就行了,没有你想的那么多弯弯绕。

使用特权

评论回复
18
菜鸟usb| | 2015-12-15 19:42 | 只看该作者
楼主您好,我也遇到了同样的问题,请问你当时是怎么解决的

使用特权

评论回复
19
baimiaocun2015| | 2015-12-15 22:35 | 只看该作者
乱世流年 发表于 2014-4-30 12:04
如果是普通的显示我知道怎么写,就是
        wan=num/10000;
        qian=num/1000-wan*10;

就是这个算法的,不是很复杂的。

使用特权

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

本版积分规则

16

主题

308

帖子

3

粉丝