Project1

标题: 【丧心病狂】被玩坏的RMXP之2-10的进制转换互转 [打印本页]

作者: chd114    时间: 2014-7-4 14:49
标题: 【丧心病狂】被玩坏的RMXP之2-10的进制转换互转
使用方法还是插脚本编辑器MAIN上面···
RUBY 代码复制
  1. class Numeric
  2.   def sjz(y) # 把y(1-9)进制数转换为10进制数
  3.     num=0
  4.     i=1
  5.     r=self%10
  6.     s=self
  7.     sn=[]
  8.     x=0
  9.     self_array = self.to_s.scan(/./) # 分割每一位上的数字
  10.     for char in self_array # 获取位数
  11.       sn[x]=char.to_i
  12.       x+=1
  13.     end
  14.     until i>x
  15.       num+=r*y**(i-1)
  16.       s=(s-r)/10
  17.       r=s%10
  18.       i+=1
  19.     end
  20.     return num.truncate == num ? num.truncate : num
  21.   end
  22.   def njz(y) # 把10进制数转换为y(1-9)进制数
  23.     num=0
  24.     i=1
  25.     q=0
  26.     r=self%y
  27.     q=(self-r)/y
  28.     num+=r
  29.     until q==0
  30.       r=q%y
  31.       q=(q-r)/y
  32.       num+=r*10**i
  33.       i+=1
  34.     end
  35.     return num.truncate == num ? num.truncate : num
  36.   end
  37. end

作者: chd114    时间: 2014-7-4 14:52
标题: 【丧心病狂】被玩坏的RMXP之10转16-36的进制转换
使用方法和之前的脚本一样···但是这次的进制转换转换结果是字符···就是说用p的结果只会输出nil
RUBY 代码复制
  1. def snjz(y) # 把10进制数转换为16进制数(必须用print,否则会p num => nil)
  2.     s=[]
  3.     if self==16
  4.       s[0]=4
  5.       s[1]=2
  6.     elsif self==25
  7.       s[0]=5
  8.       s[1]=2
  9.     elsif self==27
  10.       s[0]=3
  11.       s[1]=3
  12.     elsif self==32
  13.       s[0]=2
  14.       s[1]=5
  15.     elsif self==36
  16.       s[0]=6
  17.       s[1]=2
  18.     end
  19.  
  20.     n=[]
  21.     m=[]
  22.     num=""
  23.     i=1
  24.     q=0
  25.     r=y%s[0]
  26.     q=(y-r)/s[0]
  27.     n[0]=r
  28.     until q==0
  29.       r=q%s[0]
  30.       q=(q-r)/s[0]
  31.       n[i]=r
  32.       i+=1
  33.     end
  34.     ns=n.size
  35.     nsr=ns%s[1]
  36.     for i in 1..s[1]-nsr
  37.       n[ns+i-1]=0
  38.     end
  39.     ns=n.size
  40.     nsr=ns/s[1]
  41.     for i in 1..nsr
  42.       if s[1]==2
  43.         m[i-1]=n[1+2*(i-1)].to_s+n[2*(i-1)].to_s
  44.       elsif s[1]==3
  45.         m[i-1]=n[2+3*(i-1)].to_s+n[1+3*(i-1)].to_s+n[3*(i-1)].to_s
  46.       elsif s[1]==5
  47.         m[i-1]=n[4+5*(i-1)].to_s+n[3+5*(i-1)].to_s+n[2+5*(i-1)].to_s+
  48.         n[1+5*(i-1)].to_s+n[5*(i-1)].to_s
  49.       end
  50.     end
  51.     for i in 0...m.size
  52.       if self==16
  53.         m[i]="0" if m[i]=="00"
  54.         m[i]="1" if m[i]=="01"
  55.         m[i]="2" if m[i]=="02"
  56.         m[i]="3" if m[i]=="03"
  57.         m[i]="4" if m[i]=="10"
  58.         m[i]="5" if m[i]=="11"
  59.         m[i]="6" if m[i]=="12"
  60.         m[i]="7" if m[i]=="13"
  61.         m[i]="8" if m[i]=="20"
  62.         m[i]="9" if m[i]=="21"
  63.         m[i]="A" if m[i]=="22"
  64.         m[i]="B" if m[i]=="23"
  65.         m[i]="C" if m[i]=="30"
  66.         m[i]="D" if m[i]=="31"
  67.         m[i]="E" if m[i]=="32"
  68.         m[i]="F" if m[i]=="33"
  69.       elsif self==25
  70.         m[i]="0" if m[i]=="00"
  71.         m[i]="1" if m[i]=="01"
  72.         m[i]="2" if m[i]=="02"
  73.         m[i]="3" if m[i]=="03"
  74.         m[i]="4" if m[i]=="04"
  75.         m[i]="5" if m[i]=="10"
  76.         m[i]="6" if m[i]=="11"
  77.         m[i]="7" if m[i]=="12"
  78.         m[i]="8" if m[i]=="13"
  79.         m[i]="9" if m[i]=="14"
  80.         m[i]="A" if m[i]=="20"
  81.         m[i]="B" if m[i]=="21"
  82.         m[i]="C" if m[i]=="22"
  83.         m[i]="D" if m[i]=="23"
  84.         m[i]="E" if m[i]=="24"
  85.         m[i]="F" if m[i]=="30"
  86.         m[i]="G" if m[i]=="31"
  87.         m[i]="H" if m[i]=="32"
  88.         m[i]="I" if m[i]=="33"
  89.         m[i]="J" if m[i]=="34"
  90.         m[i]="K" if m[i]=="40"
  91.         m[i]="L" if m[i]=="41"
  92.         m[i]="M" if m[i]=="42"
  93.         m[i]="N" if m[i]=="43"
  94.         m[i]="O" if m[i]=="44"
  95.       elsif self==27
  96.         m[i]="0" if m[i]=="000"
  97.         m[i]="1" if m[i]=="001"
  98.         m[i]="2" if m[i]=="002"
  99.         m[i]="3" if m[i]=="010"
  100.         m[i]="4" if m[i]=="011"
  101.         m[i]="5" if m[i]=="012"
  102.         m[i]="6" if m[i]=="020"
  103.         m[i]="7" if m[i]=="021"
  104.         m[i]="8" if m[i]=="022"
  105.         m[i]="9" if m[i]=="100"
  106.         m[i]="A" if m[i]=="101"
  107.         m[i]="B" if m[i]=="102"
  108.         m[i]="C" if m[i]=="110"
  109.         m[i]="D" if m[i]=="111"
  110.         m[i]="E" if m[i]=="112"
  111.         m[i]="F" if m[i]=="120"
  112.         m[i]="G" if m[i]=="121"
  113.         m[i]="H" if m[i]=="122"
  114.         m[i]="I" if m[i]=="200"
  115.         m[i]="J" if m[i]=="201"
  116.         m[i]="K" if m[i]=="202"
  117.         m[i]="L" if m[i]=="210"
  118.         m[i]="M" if m[i]=="211"
  119.         m[i]="N" if m[i]=="212"
  120.         m[i]="O" if m[i]=="220"
  121.         m[i]="P" if m[i]=="221"
  122.         m[i]="Q" if m[i]=="222"
  123.       elsif self==32
  124.         m[i]="0" if m[i]=="00000"
  125.         m[i]="1" if m[i]=="00001"
  126.         m[i]="2" if m[i]=="00010"
  127.         m[i]="3" if m[i]=="00011"
  128.         m[i]="4" if m[i]=="00100"
  129.         m[i]="5" if m[i]=="00101"
  130.         m[i]="6" if m[i]=="00110"
  131.         m[i]="7" if m[i]=="00111"
  132.         m[i]="8" if m[i]=="01000"
  133.         m[i]="9" if m[i]=="01001"
  134.         m[i]="A" if m[i]=="01010"
  135.         m[i]="B" if m[i]=="01011"
  136.         m[i]="C" if m[i]=="01100"
  137.         m[i]="D" if m[i]=="01101"
  138.         m[i]="E" if m[i]=="01110"
  139.         m[i]="F" if m[i]=="01111"
  140.         m[i]="G" if m[i]=="10000"
  141.         m[i]="H" if m[i]=="10001"
  142.         m[i]="I" if m[i]=="10010"
  143.         m[i]="J" if m[i]=="10011"
  144.         m[i]="K" if m[i]=="10100"
  145.         m[i]="L" if m[i]=="10101"
  146.         m[i]="M" if m[i]=="10110"
  147.         m[i]="N" if m[i]=="10111"
  148.         m[i]="O" if m[i]=="11000"
  149.         m[i]="P" if m[i]=="11001"
  150.         m[i]="Q" if m[i]=="11010"
  151.         m[i]="R" if m[i]=="11011"
  152.         m[i]="S" if m[i]=="11100"
  153.         m[i]="T" if m[i]=="11101"
  154.         m[i]="U" if m[i]=="11110"
  155.         m[i]="V" if m[i]=="11111"
  156.       elsif self==36
  157.         m[i]="0" if m[i]=="00"
  158.         m[i]="1" if m[i]=="01"
  159.         m[i]="2" if m[i]=="02"
  160.         m[i]="3" if m[i]=="03"
  161.         m[i]="4" if m[i]=="04"
  162.         m[i]="5" if m[i]=="05"
  163.         m[i]="6" if m[i]=="10"
  164.         m[i]="7" if m[i]=="11"
  165.         m[i]="8" if m[i]=="12"
  166.         m[i]="9" if m[i]=="13"
  167.         m[i]="A" if m[i]=="14"
  168.         m[i]="B" if m[i]=="15"
  169.         m[i]="C" if m[i]=="20"
  170.         m[i]="D" if m[i]=="21"
  171.         m[i]="E" if m[i]=="22"
  172.         m[i]="F" if m[i]=="23"
  173.         m[i]="G" if m[i]=="24"
  174.         m[i]="H" if m[i]=="25"
  175.         m[i]="I" if m[i]=="30"
  176.         m[i]="J" if m[i]=="31"
  177.         m[i]="K" if m[i]=="32"
  178.         m[i]="L" if m[i]=="33"
  179.         m[i]="M" if m[i]=="34"
  180.         m[i]="N" if m[i]=="35"
  181.         m[i]="O" if m[i]=="40"
  182.         m[i]="P" if m[i]=="41"
  183.         m[i]="Q" if m[i]=="42"
  184.         m[i]="R" if m[i]=="43"
  185.         m[i]="S" if m[i]=="44"
  186.         m[i]="T" if m[i]=="45"
  187.         m[i]="U" if m[i]=="50"
  188.         m[i]="V" if m[i]=="51"
  189.         m[i]="W" if m[i]=="52"
  190.         m[i]="X" if m[i]=="53"
  191.         m[i]="Y" if m[i]=="54"
  192.         m[i]="Z" if m[i]=="55"
  193.       end
  194.     end
  195.     for i in 0..m.size
  196.       if m[m.size-i]==m[m.size-1]
  197.         if m[m.size-i]!="0"
  198.           num=num.to_s+m[m.size-i].to_s
  199.         end
  200.       else
  201.         num=num.to_s+m[m.size-i].to_s
  202.       end
  203.     end
  204.     return num.to_s == num ? num.to_s : num
  205.   end

作者: chd114    时间: 2014-7-4 14:53
标题: 【丧心病狂】被玩坏的RMXP之16-36位进制转10进制
需要把字符放进数组(如["A2"])才能得到结果~
RUBY 代码复制
  1. def nsjz(y) # 把16/25/27/32/36进制数转换为10进制数
  2.     num=0
  3.     sn=[]
  4.     x=0
  5.     n=self.to_i
  6.     s=y.to_s
  7.     self_array = y.to_s.scan(/./) # 分割每一位上的数字
  8.     for char in self_array # 获取位数
  9.       sn[x]=char.to_s
  10.       if n==16
  11.         sn[x]="00" if sn[x]=="0"
  12.         sn[x]="01" if sn[x]=="1"
  13.         sn[x]="02" if sn[x]=="2"
  14.         sn[x]="03" if sn[x]=="3"
  15.         sn[x]="10" if sn[x]=="4"
  16.         sn[x]="11" if sn[x]=="5"
  17.         sn[x]="12" if sn[x]=="6"
  18.         sn[x]="13" if sn[x]=="7"
  19.         sn[x]="20" if sn[x]=="8"
  20.         sn[x]="21" if sn[x]=="9"
  21.         sn[x]="22" if sn[x]=="A"
  22.         sn[x]="23" if sn[x]=="B"
  23.         sn[x]="30" if sn[x]=="C"
  24.         sn[x]="31" if sn[x]=="D"
  25.         sn[x]="32" if sn[x]=="E"
  26.         sn[x]="33" if sn[x]=="F"
  27.       elsif n==25
  28.         sn[x]="00" if sn[x]=="0"
  29.         sn[x]="01" if sn[x]=="1"
  30.         sn[x]="02" if sn[x]=="2"
  31.         sn[x]="03" if sn[x]=="3"
  32.         sn[x]="04" if sn[x]=="4"
  33.         sn[x]="10" if sn[x]=="5"
  34.         sn[x]="11" if sn[x]=="6"
  35.         sn[x]="12" if sn[x]=="7"
  36.         sn[x]="13" if sn[x]=="8"
  37.         sn[x]="14" if sn[x]=="9"
  38.         sn[x]="20" if sn[x]=="A"
  39.         sn[x]="21" if sn[x]=="B"
  40.         sn[x]="22" if sn[x]=="C"
  41.         sn[x]="23" if sn[x]=="D"
  42.         sn[x]="24" if sn[x]=="E"
  43.         sn[x]="30" if sn[x]=="F"
  44.         sn[x]="31" if sn[x]=="G"
  45.         sn[x]="32" if sn[x]=="H"
  46.         sn[x]="33" if sn[x]=="I"
  47.         sn[x]="34" if sn[x]=="J"
  48.         sn[x]="40" if sn[x]=="K"
  49.         sn[x]="41" if sn[x]=="L"
  50.         sn[x]="42" if sn[x]=="M"
  51.         sn[x]="43" if sn[x]=="N"
  52.         sn[x]="44" if sn[x]=="O"
  53.       elsif n==27
  54.         sn[x]="000" if sn[x]=="0"
  55.         sn[x]="001" if sn[x]=="1"
  56.         sn[x]="002" if sn[x]=="2"
  57.         sn[x]="010" if sn[x]=="3"
  58.         sn[x]="011" if sn[x]=="4"
  59.         sn[x]="012" if sn[x]=="5"
  60.         sn[x]="020" if sn[x]=="6"
  61.         sn[x]="021" if sn[x]=="7"
  62.         sn[x]="022" if sn[x]=="8"
  63.         sn[x]="100" if sn[x]=="9"
  64.         sn[x]="101" if sn[x]=="A"
  65.         sn[x]="102" if sn[x]=="B"
  66.         sn[x]="110" if sn[x]=="C"
  67.         sn[x]="111" if sn[x]=="D"
  68.         sn[x]="112" if sn[x]=="E"
  69.         sn[x]="120" if sn[x]=="F"
  70.         sn[x]="121" if sn[x]=="G"
  71.         sn[x]="122" if sn[x]=="H"
  72.         sn[x]="200" if sn[x]=="I"
  73.         sn[x]="201" if sn[x]=="J"
  74.         sn[x]="202" if sn[x]=="K"
  75.         sn[x]="210" if sn[x]=="L"
  76.         sn[x]="211" if sn[x]=="M"
  77.         sn[x]="212" if sn[x]=="N"
  78.         sn[x]="220" if sn[x]=="O"
  79.         sn[x]="221" if sn[x]=="P"
  80.         sn[x]="222" if sn[x]=="Q"
  81.       elsif n==32
  82.         sn[x]="00000" if sn[x]=="0"
  83.         sn[x]="00001" if sn[x]=="1"
  84.         sn[x]="00010" if sn[x]=="2"
  85.         sn[x]="00011" if sn[x]=="3"
  86.         sn[x]="00100" if sn[x]=="4"
  87.         sn[x]="00101" if sn[x]=="5"
  88.         sn[x]="00110" if sn[x]=="6"
  89.         sn[x]="00111" if sn[x]=="7"
  90.         sn[x]="01000" if sn[x]=="8"
  91.         sn[x]="01001" if sn[x]=="9"
  92.         sn[x]="01010" if sn[x]=="A"
  93.         sn[x]="01011" if sn[x]=="B"
  94.         sn[x]="01100" if sn[x]=="C"
  95.         sn[x]="01101" if sn[x]=="D"
  96.         sn[x]="01110" if sn[x]=="E"
  97.         sn[x]="01111" if sn[x]=="F"
  98.         sn[x]="10000" if sn[x]=="G"
  99.         sn[x]="10001" if sn[x]=="H"
  100.         sn[x]="10010" if sn[x]=="I"
  101.         sn[x]="10011" if sn[x]=="J"
  102.         sn[x]="10100" if sn[x]=="K"
  103.         sn[x]="10101" if sn[x]=="L"
  104.         sn[x]="10110" if sn[x]=="M"
  105.         sn[x]="10111" if sn[x]=="N"
  106.         sn[x]="11000" if sn[x]=="O"
  107.         sn[x]="11001" if sn[x]=="P"
  108.         sn[x]="11010" if sn[x]=="Q"
  109.         sn[x]="11011" if sn[x]=="R"
  110.         sn[x]="11100" if sn[x]=="S"
  111.         sn[x]="11101" if sn[x]=="T"
  112.         sn[x]="11110" if sn[x]=="U"
  113.         sn[x]="11111" if sn[x]=="V"
  114.       elsif n==36
  115.         sn[x]="00" if sn[x]=="0"
  116.         sn[x]="01" if sn[x]=="1"
  117.         sn[x]="02" if sn[x]=="2"
  118.         sn[x]="03" if sn[x]=="3"
  119.         sn[x]="04" if sn[x]=="4"
  120.         sn[x]="05" if sn[x]=="5"
  121.         sn[x]="10" if sn[x]=="6"
  122.         sn[x]="11" if sn[x]=="7"
  123.         sn[x]="12" if sn[x]=="8"
  124.         sn[x]="13" if sn[x]=="9"
  125.         sn[x]="14" if sn[x]=="A"
  126.         sn[x]="15" if sn[x]=="B"
  127.         sn[x]="20" if sn[x]=="C"
  128.         sn[x]="21" if sn[x]=="D"
  129.         sn[x]="22" if sn[x]=="E"
  130.         sn[x]="23" if sn[x]=="F"
  131.         sn[x]="24" if sn[x]=="G"
  132.         sn[x]="25" if sn[x]=="H"
  133.         sn[x]="30" if sn[x]=="I"
  134.         sn[x]="31" if sn[x]=="J"
  135.         sn[x]="32" if sn[x]=="K"
  136.         sn[x]="33" if sn[x]=="L"
  137.         sn[x]="34" if sn[x]=="M"
  138.         sn[x]="35" if sn[x]=="N"
  139.         sn[x]="40" if sn[x]=="O"
  140.         sn[x]="41" if sn[x]=="P"
  141.         sn[x]="42" if sn[x]=="Q"
  142.         sn[x]="43" if sn[x]=="R"
  143.         sn[x]="44" if sn[x]=="S"
  144.         sn[x]="45" if sn[x]=="T"
  145.         sn[x]="50" if sn[x]=="U"
  146.         sn[x]="51" if sn[x]=="V"
  147.         sn[x]="52" if sn[x]=="W"
  148.         sn[x]="53" if sn[x]=="X"
  149.         sn[x]="54" if sn[x]=="Y"
  150.         sn[x]="55" if sn[x]=="Z"
  151.       else
  152.         exit
  153.       end
  154.       x+=1
  155.     end
  156.     for i in 0...sn.size
  157.       num=num.to_s+sn[i].to_s
  158.     end
  159.     if n==16
  160.       n=4
  161.     elsif n==25
  162.       n=5
  163.     elsif n==27
  164.       n=3
  165.     elsif n==32
  166.       n=2
  167.     elsif n==36
  168.       n=6
  169.     end
  170.     num=(num.to_i).sjz(n)
  171.     return num.truncate == num ? num.truncate : num
  172.   end

作者: taroxd    时间: 2014-7-4 15:18
"abcdef".to_i(16)

ruby内置的东西写那么多,真无聊
作者: chd114    时间: 2014-7-4 15:38
taroxd 发表于 2014-7-4 15:18
"abcdef".to_i(16)

ruby内置的东西写那么多,真无聊

···任意进制都转了?我这个只是给纯新手用的= =
作者: taroxd    时间: 2014-7-4 15:39
chd114 发表于 2014-7-4 15:38
···任意进制都转了?我这个只是给纯新手用的= =


从2到36皆可互转,比你的更加适合纯新手用(话说纯新手用不到这个吧
作者: chd114    时间: 2014-7-4 15:49
taroxd 发表于 2014-7-4 15:39
从2到36皆可互转,比你的更加适合纯新手用(话说纯新手用不到这个吧

36以上怎么破···表示在考虑按C的任意转弄···但你这个只能把10进制的转成其他进制吧?反过来怎么弄···
作者: taroxd    时间: 2014-7-4 15:52
chd114 发表于 2014-7-4 15:49
36以上怎么破···表示在考虑按C的任意转弄···但你这个只能把10进制的转成其他进制吧?反过来怎么弄 ...

36以上你用什么东西表示……字母都用光了……

16转10: "abcdef".to_i(16)
10转16:123456.to_s(16)

作者: chd114    时间: 2014-7-4 15:56
taroxd 发表于 2014-7-4 15:52
36以上你用什么东西表示……字母都用光了……

16转10: "abcdef".to_i(16)

36以上的我记得我看到的那个C语言的是用文字来表示还是希腊字母来表示来着···
作者: taroxd    时间: 2014-7-4 15:59
chd114 发表于 2014-7-4 15:56
36以上的我记得我看到的那个C语言的是用文字来表示还是希腊字母来表示来着··· ...


这是Ruby,不是C
而且这种东西随你怎么表示,转进制什么的还有难度么
作者: chd114    时间: 2014-7-4 16:14
taroxd 发表于 2014-7-4 15:59
这是Ruby,不是C
而且这种东西随你怎么表示,转进制什么的还有难度么

我只知道特定的进制我可以转出来···但是像11、15、29之类的就不行了···
作者: taroxd    时间: 2014-7-4 16:15
chd114 发表于 2014-7-4 16:14
我只知道特定的进制我可以转出来···但是像11、15、29之类的就不行了··· ...


"abcdefgh".to_i(29) 怎么可能不行
作者: chd114    时间: 2014-7-4 16:22
taroxd 发表于 2014-7-4 16:15
"abcdefgh".to_i(29) 怎么可能不行

具体的原理···我只知道因为2的四次方是16所以可以利用这一点把10位数转成4位2进制数再转16进制···像29这些就不知了···
作者: taroxd    时间: 2014-7-4 16:24
chd114 发表于 2014-7-4 16:22
具体的原理···我只知道因为2的四次方是16所以可以利用这一点把10位数转成4位2进制数再转16进制··· ...

进制的定义
作者: chd114    时间: 2014-7-4 16:27
taroxd 发表于 2014-7-4 16:24
进制的定义

不明觉厉···
作者: taroxd    时间: 2014-7-4 16:28
chd114 发表于 2014-7-4 16:27
不明觉厉···

C 代码复制
  1. VALUE
  2. rb_fix2str(VALUE x, int base)
  3. {
  4.     extern const char ruby_digitmap[];
  5.     char buf[SIZEOF_VALUE*CHAR_BIT + 2], *b = buf + sizeof buf;
  6.     long val = FIX2LONG(x);
  7.     int neg = 0;
  8.  
  9.     if (base < 2 || 36 < base) {
  10.         rb_raise(rb_eArgError, "invalid radix %d", base);
  11.     }
  12.     if (val == 0) {
  13.         return rb_usascii_str_new2("0");
  14.     }
  15.     if (val < 0) {
  16.         val = -val;
  17.         neg = 1;
  18.     }
  19.     *--b = '\0';
  20.     do {
  21.         *--b = ruby_digitmap[(int)(val % base)];
  22.     } while (val /= base);
  23.     if (neg) {
  24.         *--b = '-';
  25.     }
  26.  
  27.     return rb_usascii_str_new2(b);
  28. }


源码的主要部分在此,自己欣赏吧
作者: chd114    时间: 2014-7-4 16:36
taroxd 发表于 2014-7-4 16:28
VALUE
rb_fix2str(VALUE x, int base)
{

什么叫做主要部分···次要部分是指你把开头尾巴去掉了对吧···
作者: taroxd    时间: 2014-7-4 16:38
chd114 发表于 2014-7-4 16:36
什么叫做主要部分···次要部分是指你把开头尾巴去掉了对吧···

主要部分就是指实现转换进制的核心部分

至于次要部分,就是Ruby怎么接收你的参数啊,怎么把数字变成字符啊,之类的东西
作者: jspython    时间: 2014-7-4 19:26
用Python可以更容易地做到= =曾经无聊做过
作者: chd114    时间: 2014-7-4 19:28
jspython 发表于 2014-7-4 19:26
用Python可以更容易地做到= =曾经无聊做过

比如说?
作者: 菜鸟飞呀飞    时间: 2014-7-4 19:33
提示: 作者被禁止或删除 内容自动屏蔽
作者: chd114    时间: 2014-7-4 19:37
taroxd 发表于 2014-7-4 15:52
36以上你用什么东西表示……字母都用光了……

16转10: "abcdef".to_i(16)

话说用这种的话我要从16转25是不是还得从16转到10才能再转到25···
作者: chd114    时间: 2014-7-4 19:41
菜鸟飞呀飞 发表于 2014-7-4 19:33
sprintf("%-", -)
to_i(-)
当做好玩写的吧,基本用不到哦

这两句没看明白···
作者: taroxd    时间: 2014-7-4 19:41
chd114 发表于 2014-7-4 19:37
话说用这种的话我要从16转25是不是还得从16转到10才能再转到25···

to_i 并不是转到10,而只是算出值而已
作者: chd114    时间: 2014-7-4 19:42
taroxd 发表于 2014-7-4 19:41
to_i 并不是转到10,而只是算出值而已

"abcdef".to_s(16,25)的话就是从16进制转到25进制?我只是猜可以这么写···
作者: 无脑之人    时间: 2014-7-4 21:40
为什么用了一个莫名其妙效率颇低的算法造了一个轮子
作者: chd114    时间: 2014-7-4 21:43
无脑之人 发表于 2014-7-4 21:40
为什么用了一个莫名其妙效率颇低的算法造了一个轮子

因为ruby语法没法直接在XP里面用···




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1