转换器Java字符串转换为二进制
我需要用Java编写一个转换器,它要求用户输入输入,源字母表和目标字母表)。然后,代码应提供一个答案,该答案已将源字母表转换为目标字母表
字母表应以以下形式给出:
-“0123456789”(基数10)
-“字母表”
-“0123456789ABCDEF”(十六进制)等
每个字母表值都是一个唯一的ASCII字符
以下是我从代码中寻找的一些示例输入和答案:
convert("129","0123456789","01") === "10000001"
convert("FF","0123456789ABCDEF","0123456789") === "255"
convert("svip","abcdefghijklmnopqrstuvwxyz","0123456789ABCDEF") === "50C23"
如果能帮助我着手解决这个问题,我将不胜感激
# 1 楼答案
首先,创建一个从十进制转换为十六进制的函数
最好的工具是模运算符(x%y)和除法运算符(x/y)。模(或模)给你余数,所以如果你想象有一个像24的数字,24%16=8,而24/16=1。请注意,如果我有31%的16分,我将得到15分
使用这些工具,您可以对输入的小数进行操作,并重复按基数对数字进行mod,以获得余数,然后将小数设置为自身除以基数
例如
第一步。 小数点:31 字符串:“” 基数:16
31%16=15 31/16=1
第二步 小数点:1 字符串:“E” 基数:16
1%16=1 1/16=1
第三步 小数点:0 字符串:“1E” 基数:16
鳍
希望有帮助