什么是36进制

什么是36进制

三十六进制,是数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-Z组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-35。
进制说明:
36进制是 0-F (0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ)
温馨提示:内容为网友见解,仅供参考
第1个回答  2021-06-06
如何根据字母得到对应数字
将'0'-'9'映射到数字0-9,将'a'-'z'映射到数字10-35的方法
将'0'-'9','a'-'z'存储到List中,index是0-35为其对应的数字
static Character[] nums = { '0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z' };
static List
list = Arrays.asList(nums);
int index = list.indexOf('p');// 得到的是25
利用ASCII码
//找到字符对应的整数
public static int getInt(char a){
if(a>='0'&&a<='9'){
return a-'0';
}else{
return (a - 'a') + 10;
}
}
二、题目
题目
36进制由0-9,a-z,共36个字符表示,最小为'0'

'0''9'对应十进制的09,'a''z'对应十进制的1035

例如:'1b' 换算成10进制等于 1 * 36^1 + 11 * 36^0 = 36 + 11 = 47

要求按照加法规则计算出任意两个36进制正整数的和

如:按照加法规则,计算'1b' + '2x' = '48'
要求:不允许把36进制数字整体转为10进制数字,计算出10进制数字的相加结果再转回为36进制
思路
按照十进制的加法方法,满36向前进一位
代码
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class 进制转换 {
static Character[] nums = { '0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z' };
static List
list = Arrays.asList(nums);

public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
String str1 = scan.next();
String str2 = scan.next();
String r=f(str1,str2);
System.out.println(r);
}

static String f(String str1, String str2) {
char[] s1 = str1.toCharArray();
char[] s2 = str2.toCharArray();
int i = s1.length - 1;
int j = s2.length - 1;
int temp = 0;// 进位
StringBuilder sb = new StringBuilder();
while (i >= 0 && j >= 0) {
char c1 = s1[i];
char c2 = s2[j];
int index1 = list.indexOf(c1);
int index2 = list.indexOf(c2);
int sum = index1 + index2 + temp;
if (sum >= 36) {
temp = 1;
sb.append(list.get(sum % 36));
} else {
temp=0;
sb.append(list.get(sum));
}
i--;
j--;
}
while (i >= 0) {
int sum = list.indexOf(s1[i]) + temp;
if (sum >=36) {
temp = 1;
sb.append(list.get(sum % 36));
} else {
temp=0;
sb.append(list.get(sum));
}
i--;
}
while (j >= 0) {
int sum = list.indexOf(s2[j]) + temp;
if (sum >=36) {
temp = 1;
sb.append(list.get(sum % 36));
} else {
temp=0;
sb.append(list.get(sum));
}
j--;
}
if(temp!=0){
sb.append('1');
}
return sb.reverse().toString();
}
}

参考文献
0
© 著作权归作者所有
推荐阅读
力扣每日一题:5738. K进制表示下的各位数字总和
清风Python
阅读61
算法题:43. 字符串相乘(leetcode)
最近有点丧
阅读50
每日一算法:二项式系数
lio_zero
阅读177
如何在 JavaScript 中将字符串转换为数字
lio_zero
阅读91
剑指offer 19- 表示数值的字符串(指针移动算法)
第2个回答  2010-09-01
从 0到9 a到 z
表示 十进制的0到36本回答被提问者采纳
第3个回答  推荐于2017-09-20
  三十六进制,是数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-Z组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-35。
  进制说明:
  36进制是 0-F (0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ);
  

三十六进制数是多少?
三十六进制数是一种使用36个不同符号来表示数值的数制,通常包括0-9的数字和A-Z的字母。三十六进制数是一种基于36的数制,这意味着它使用36个不同的符号来表示不同的数值。与我们常用的十进制数制相比,三十六进制数制使用更多的符号来表示数值,这使得它在表示大数字时更为简洁。在三十六进制数中,...

什么是36进制
三十六进制,是数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-Z组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-35。进制说明:36进制是 0-F (0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ)

三十六进制数是多少?
三十六进制数是一种数制,它使用36个不同的符号来表示数值,这些符号通常是0-9的数字和A-Z的字母。三十六进制数是一种基于36的数制,它使用36个不同的符号来表示数值。这些符号包括0-9的数字和A-Z的字母。在三十六进制数中,每一位的数值都是基于36的幂次方。例如,三十六进制数"1A"表示的数值...

三十六进制数是多少
三十六进制数是一种数制表示方法,它基于36个不同的数字符号来表示数值。在常见的十进制数制中,我们使用0到9这十个数字来表示数值,而在三十六进制中,除了0到9这十个数字外,还需要额外使用26个英文字母(通常不包括易混淆的I、O等,因此选择A到Z)来表示更大的数值。这种数制在特定领域,如计算机...

三十六进制数是多少?
三十六进制数是一种数值表示方法,其基数为36。这种进制方式在计算机科学和其他技术领域中有时会被使用,因为它可以有效地将较长的数字或数据编码为较短的字符串。三十六进制数使用0-9的数字和A-Z的字母来表示数值。举个例子,十进制数12345可以转换为三十六进制数。转换过程涉及到连续的除法和取余数,...

编码36是什么意思呀?
编码36是指36进制编码,也称为36进位制。与十进制(基数为10)和二进制(基数为2)不同,36进制使用36个数字来表示数据,包括0~9和A~Z。对于互联网领域来说,编码36被广泛用于网址缩短和短链接服务。通过将长网址转换为短的36进制编码,不仅方便用户操作,而且能节省网络带宽,提高网站的访问速度与...

36d的36是什么意思?
36是个特殊的数字,它在36进制中表示的是6乘以6加上0。也就是说,36可以表示为10进制中的36,16进制中的24以及8进制中的44。36进制并不像10进制、2进制、16进制一样常见,但在某些场合下也有一定的应用。比如在编程中,有时需要对数据进行压缩,而36进制可以比16进制更好地实现这一点。36d可以...

三十六进制的数字是怎样的?
三十六进制,每个位的数字,用十进制表示将是0~35。可以使用:0~9,A~Z,来表示。一个三位的三十六进制数答,就是000~ZZZ。每个位,就不是常见的 百位、十位、个位了,而是:26的二次方、26的一次方、26的0次方。随便说个三十六进制数字:ZA5,把它变换成十进制的计算方法就是:35 * 26...

36d的36是什么意思?
换言之,36在10进制中就是36,在16进制中是24,在8进制中是44。尽管36进制不如10进制、2进制或16进制常见,但在某些特定情境下,它仍然有其应用价值。例如,在编程中,为了数据压缩的需要,36进制有时会比16进制更为适用。关于“36D”的表述,它通常用来描述胸围大小为D罩杯的女性,其中的“d”...

怎么算36的进制?
所以可以排除十进制;②尝试八进制(由于日常生活中大都采用十进制计数,因此人们对十进制数最为习惯。所以需要以十进制算出的数为准,也就是30):若是八进制,30可分为3个8,还剩下一个6,这个6是不能凑够一个8的(记住:满8进1),所以6直接写在3的后面,也就是36,所以合理。

相似回答