口袋妖怪吧 关注:1,076,333贴子:32,490,539

宝可梦的数值问题

只看楼主收藏回复

为什么努力值上限是255,像精灵的实际数值都可以超过255


IP属地:广东来自Android客户端1楼2022-05-28 11:05回复
    不是252吗


    IP属地:北京来自Android客户端2楼2022-05-28 11:13
    收起回复
      广告
      立即查看
      4点努力值换一点能力值,本身能力值还受个体值和个体值影响,还有性格修正


      IP属地:四川来自iPhone客户端3楼2022-05-28 11:19
      收起回复
        要是努力值单项上限改成65536,你猜GF会被骂多久


        IP属地:云南4楼2022-05-28 11:23
        收起回复
          你在说些什么?😅建议熟读神百努力值和能力值相关页面后再发言


          IP属地:湖北来自Android客户端5楼2022-05-28 12:06
          收起回复
            你要问为啥4点努力值才能换1点能力


            IP属地:上海来自Android客户端6楼2022-05-28 12:07
            收起回复
              这边解释下你上面的那个问题:这就要涉及到底层代码了,不同与人类的10进制,计算机语言中的数字都是以0和1的形式表现出来(二进制)。所以但凡是个数字,都是这样被计算机识别的。通常数值都会以2的n次方(多位偶数次方)来限制,而计算机中,数值是从0开始数的,所以在2^8中,能表示的正数上限就是00000000(0)~11111111(255),如果你要用一个自然数(00001010=10)来表示上限的话,你就得设一个常量来作为比较限量,每次你的数值都得比较一下,(多一次运算)确保数值不会溢出,用字符串的长度来作为限量是最节省的方法。像是等级这种东西必须得转化为人类可识别的数字,所以不得不得用1~100来限定。而作为一些看不见的数据,像努力值就会以2^n次方来规整,像G1G2的努力值就是2^16个数,上线就是65535,G3之后为了规范对战,EV调整为2^8,这样普遍玩家在刷努力值的时候会稍微简化很多(65535要刷多少家门鸟)。但为什么不是255,我猜测应该253-255被用来当作某些特点判定了,所以只用到了252。当然以上不管65535还是252都是最早那批底层代码开发者定的规则,也是会变的,比如go和他相关的lgpe,包括这次的阿尔宙斯都是不一样的规则。所以不能说一直。。


              IP属地:美国来自iPhone客户端7楼2022-05-28 12:13
              收起回复
                建议去学编程


                IP属地:江苏来自iPhone客户端8楼2022-05-28 13:21
                回复
                  广告
                  立即查看
                  这要去问程序员吧,我们又改不了


                  IP属地:福建来自Android客户端9楼2022-05-28 13:38
                  回复
                    但凡上过初中计算机课就问不出这种问题


                    IP属地:上海来自Android客户端11楼2022-05-28 13:40
                    回复
                      听lz的,改成114514


                      IP属地:河南来自Android客户端12楼2022-05-28 14:30
                      收起回复
                        所以能力值的编码形式是二进制码,还是像格雷码那种


                        IP属地:广东来自Android客户端13楼2022-05-28 14:35
                        回复
                          努力值255刚好两位十六进制,
                          能力值是四位十六进制,但它存储的不是具体的数值而是一个计算结果,是没有地方可以直接修改的,只能修改它的变量,GBA上可以通过非法手段暴力覆盖成六项65535。
                          都是早年间为了充分使用储存空间设定的,然后一直沿用到现在。


                          IP属地:浙江来自Android客户端14楼2022-05-28 16:24
                          回复
                            为什么1990年GF不在switch上开发剑盾,是因为没有吗


                            IP属地:福建15楼2022-05-28 19:00
                            收起回复
                              广告
                              立即查看
                              问问题之前至少把自己想问的问题理解清楚,知识储备做好。计算机里所有数值都是用二进制表示的,且基本数据类型的宽度是以字节为单位,1字节=8二进制位(比特),可以表示256个数(0~255或-128~127)


                              来自Android客户端17楼2022-05-28 19:35
                              回复