标题: 求余后都+0x80为什么 [打印本页]

作者: 三元里    时间: 2015-1-7 14:11
标题: 求余后都+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  ");                  刚学,来论坛向各位大师学习,问题很多一个一个的提,坚持不懈学。
作者: exv    时间: 2015-1-7 18:53
转ASCII
作者: xueyunmicheng    时间: 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  ");  


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

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

估计是打字打错,

取余算法好像没问题吧?

+0x30 应该是转码用的。
作者: 三元里    时间: 2015-1-7 21:11
谢谢以上回复!!!现已明白了,多谢了。刚学今后还会有很多问题请教。
作者: xueyunmicheng    时间: 2015-1-7 23:22
exv 发表于 2015-1-7 21:02
楼主 标题写的是 “+0x80“
帖子里头的确是 “ +0x30 “

嗷嗷 我进了死胡同了 我的弄错了 除在前 取余在后  嘿嘿
作者: exv    时间: 2015-1-7 23:47
xueyunmicheng 发表于 2015-1-7 23:22
嗷嗷 我进了死胡同了 我的弄错了 除在前 取余在后  嘿嘿

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

ryz=12345;

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

一不小心就会犯错。

楼主用的那种格式更好些,运算量小。
作者: xueyunmicheng    时间: 2015-1-8 00:05
exv 发表于 2015-1-7 23:47
不是到底 “除在前 取余在后”的问题,那个在前取决于用哪种方式:

ryz=12345;

学习了 我开始看教程的时候没有注意 我使用的方法是 自己试验出来的 学习的时候 只学习了 怎么操作io口
后来所有的东西都是 软件仿真求值 加实物试验得出的结果 到现在已经玩坏一个89c52 一个89c58 一个 15F2K60S2 嘿嘿 都是意外烧掉几个io口了
作者: igoindown    时间: 2017-5-22 22:04
三元里 发表于 2015-1-7 21:11
谢谢以上回复!!!现已明白了,多谢了。刚学今后还会有很多问题请教。

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




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1