找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4683|回复: 8
打印 上一主题 下一主题
收起左侧

求余后都+0x80为什么

[复制链接]
跳转到指定楼层
楼主
        DisplayListChar(1,0,0, "Cx=");        
        DisplayOneChar(1,3,  ryz/1000000%10+0x30);
        DisplayOneChar(1,4, ryz/100000%10+0x30);
        DisplayOneChar(1,5, ryz/10000%10+0x30);
        DisplayOneChar(1,6, ryz/1000%10+0x30);
        DisplayOneChar(1,7, ryz/100%10+0x30);
        DisplayOneChar(1,8,'.');
        DisplayOneChar(1,9, ryz/10%10+0x30);
        DisplayOneChar(1,10,ryz%10+0x30);
        DisplayListChar(1,11,0, "UF  ");                  刚学,来论坛向各位大师学习,问题很多一个一个的提,坚持不懈学。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:67796 发表于 2015-1-7 18:53 | 只看该作者
转ASCII
回复

使用道具 举报

板凳
ID:63997 发表于 2015-1-7 19:28 | 只看该作者
首先 你的取余 算法错误 这个送显 出现的将不是你要的结果
其次 经过取商取余运算后 得到的是0-9 的整数 也就是需要显示的数 在字符码表的 A3B0行 所以 需要 加上0x30  格式 就是 数据 + 地址 这样的格式咯

DisplayListChar(1,0,0, "Cx=");        
         DisplayOneChar(1,3,  ryz/10000000%1000000+0x30);
         DisplayOneChar(1,4, ryz/1000000%100000+0x30);
         DisplayOneChar(1,5, ryz/100000%10000+0x30);
         DisplayOneChar(1,6, ryz/10000%1000+0x30);
         DisplayOneChar(1,7, ryz/1000%100+0x30);
         DisplayOneChar(1,8,'.');
         DisplayOneChar(1,9, ryz/100%10+0x30);
         DisplayOneChar(1,10,ryz%10+0x30);
         DisplayListChar(1,11,0, "UF  ");  

回复

使用道具 举报

地板
ID:67796 发表于 2015-1-7 21:02 | 只看该作者
xueyunmicheng 发表于 2015-1-7 19:28
首先 你的取余 算法错误 这个送显 出现的将不是你要的结果
其次 经过取商取余运算后 得到的是0-9 的整数  ...

楼主 标题写的是 “+0x80“
帖子里头的确是 “ +0x30 “

估计是打字打错,

取余算法好像没问题吧?

+0x30 应该是转码用的。
回复

使用道具 举报

5#
ID:71774 发表于 2015-1-7 21:11 | 只看该作者
谢谢以上回复!!!现已明白了,多谢了。刚学今后还会有很多问题请教。
回复

使用道具 举报

6#
ID:63997 发表于 2015-1-7 23:22 | 只看该作者
exv 发表于 2015-1-7 21:02
楼主 标题写的是 “+0x80“
帖子里头的确是 “ +0x30 “

嗷嗷 我进了死胡同了 我的弄错了 除在前 取余在后  嘿嘿
回复

使用道具 举报

7#
ID:67796 发表于 2015-1-7 23:47 | 只看该作者
xueyunmicheng 发表于 2015-1-7 23:22
嗷嗷 我进了死胡同了 我的弄错了 除在前 取余在后  嘿嘿

不是到底 “除在前 取余在后”的问题,那个在前取决于用哪种方式:

ryz=12345;

ryz/1000%10=2  ->千位值
ryz%10000/1000=2  ->千位值

一不小心就会犯错。

楼主用的那种格式更好些,运算量小。
回复

使用道具 举报

8#
ID:63997 发表于 2015-1-8 00:05 | 只看该作者
exv 发表于 2015-1-7 23:47
不是到底 “除在前 取余在后”的问题,那个在前取决于用哪种方式:

ryz=12345;

学习了 我开始看教程的时候没有注意 我使用的方法是 自己试验出来的 学习的时候 只学习了 怎么操作io口
后来所有的东西都是 软件仿真求值 加实物试验得出的结果 到现在已经玩坏一个89c52 一个89c58 一个 15F2K60S2 嘿嘿 都是意外烧掉几个io口了
回复

使用道具 举报

9#
ID:203659 发表于 2017-5-22 22:04 | 只看该作者
三元里 发表于 2015-1-7 21:11
谢谢以上回复!!!现已明白了,多谢了。刚学今后还会有很多问题请教。

楼主,这个帖子里 +0x30 是干吗用的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表