agopoe吧 关注:35,980贴子:549,269

(释疑)关于易语言和CE进制问题

取消只看楼主收藏回复

自古一楼不说事


1楼2015-09-10 11:50回复
    2楼还是我的


    2楼2015-09-10 11:51
    收起回复
      今天更新了偏移以后,很多小伙伴都不理解,在这和大家解释下写法里面的进制转换问题,大神勿喷我是渣渣!


      3楼2015-09-10 11:51
      收起回复
        比如你的某个角色属性值是2000,可以把他当作力量,我现在用易语言把他修改掉,而内存中使用的是16进制,则是7D0(0自己补齐)。


        4楼2015-09-10 11:54
        收起回复
          那么我要怎么修改呢?我需要把这个值以16进制取出来:7D0,然后手动转换为10进制则为2000,然后我要把这个力量值改为5000,再用16进制改回到内存中。这时候,内存中就以1388(读一三八八,不是一千三百八十八)储存这个值


          5楼2015-09-10 11:56
          收起回复
            比如今天更新的偏移,无敌偏移10fc,转换成10进制就是4348.之前无敌偏移是10f8,10进制就是4344了(右移了4位)。


            6楼2015-09-10 11:58
            收起回复
              我想说的是,2进制的话,就不会像普通右移这么简单了,现在右移是16进制,能口算出来,4→8,8→c。2进制是不会允许4这个数字的存在了,需要借助以下进制转换器才能算出来,不过一些简单的也能口算哦


              7楼2015-09-10 12:00
              收起回复
                好的,现在我们来说下16进制他本身吧


                9楼2015-09-10 12:02
                收起回复
                  16进制顾名思义,就是满16进了类比10进制满10进1 。不要告诉我不懂,小学就学了10进制据说这里不懂的已经被打死了


                  10楼2015-09-10 12:03
                  收起回复
                    16进制里,分别用0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f代表0-15,这6个字母分别代表10-15,不区分大小写哦


                    11楼2015-09-10 12:10
                    收起回复
                      好了,现在我们来分解一下大家最熟悉的属性:aa4


                      12楼2015-09-10 12:13
                      回复
                        A(16)就是10(10),括号代表进制,那么aa4的第一个a在第三位上,我们暂且把他分解成a00+a4


                        14楼2015-09-10 12:16
                        收起回复
                          a00(16)+a4(16)我们可以把他分解成a00(16)+a0(16)+4(16)据说这里不懂的现在都在跪键盘


                          16楼2015-09-10 12:17
                          收起回复
                            那么我们一步步来算出来。a00(16)由于在第三位上有值(1,2是0),那么又有a(16)=10(10),我们定义一个分解标记是位数-1=2,那么a00(16)=16X16X10(10)=2560,那么a00(16)=2560(10)


                            17楼2015-09-10 12:21
                            收起回复
                              那么接下来我们就要处理剩下的2部分了,即aa4(16)=2560(10)+a0(16)+4(16)


                              19楼2015-09-10 12:22
                              回复