Do ponto de vista matemático , 36, como acontece com todos os números altamente compostos , é uma escolha conveniente para uma base, pois é divisível por 2 e 3, e por seus múltiplos 4, 6, 9, 12 e 18. Além disso, uma vez que o o número um a menos que a base é o produto dos próximos dois maiores primos (5 e 7), ele pode se aproximar bem de muitas frações para seu tamanho. Os números da base 36 também podem ser representados em duas mãos usando a contagem do dedo senário , visto que cada dígito da base 36 pode ser representado com dois dígitos do senário (base 6).
O nome latinado mais comum para a base 36 parece ser hexatridecimal , embora sexatrigesimal seja indiscutivelmente mais correto. A forma intermediária hexatrigesimal também é usada algumas vezes. Para obter mais informações sobre essa confusão de nomenclatura, consulte a entrada para hexadecimal . Outro nome ocasionalmente visto para a base 36 é alfadecimal , um neologismo cunhado com base no fato de que o sistema usa os dígitos decimais e as letras da aposta alfa latina .
Os inteiros de 32 e 64 bits armazenam apenas até 6 ou 13 dígitos de base 36, respectivamente. Por exemplo, o valor máximo inteiro assinado de 64 bits de " 9223372036854775807 " é " 1Y2P0IJ32E8E7 " na base-36. Para números com mais dígitos, pode-se usar as funções mpz_set_str e mpz_get_str na biblioteca matemática de precisão arbitrária GMP . Para números de ponto flutuante, as funções correspondentes são chamadas mpf_set_str e mpf_get_str .
Implementação C
staticchar*base36enc(longunsignedintvalue){charbase36[37]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";/* log(2**64) / log(36) = 12.38 => max 13 char + '\0' */charbuffer[14];unsignedintoffset=sizeof(buffer);buffer[--offset]='\0';do{buffer[--offset]=base36[value%36];}while(value/=36);returnstrdup(&buffer[offset]);// warning: this must be free-d by the user}staticlongunsignedintbase36dec(constchar*text){returnstrtoul(text,NULL,36);}
PublicFunctionConvertBase10(ByValdAsDouble,ByValsNewBaseDigitsAsString)AsString' call using ConvertBase10(12345, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ") for base36' can be used to convert to any base' from http://www.freevbcode.com/ShowCode.asp?ID=6604DimSAsString,tmpAsDouble,iAsInteger,lastIAsIntegerDimBaseSizeAsIntegerBaseSize=Len(sNewBaseDigits)DoWhileVal(d)<>0tmp=di=0DoWhiletmp>=BaseSizei=i+1tmp=tmp/BaseSizeLoopIfi<>lastI-1AndlastI<>0ThenS=S&String(lastI-i-1,Left(sNewBaseDigits,1))'get the zero digits inside the numbertmp=Int(tmp)'truncate decimalsS=S+Mid(sNewBaseDigits,tmp+1,1)d=d-tmp*(BaseSize^i)lastI=iLoopS=S&String(i,Left(sNewBaseDigits,1))'get the zero digits at the end of the numberConvertBase10=SEndFunction
Geohash-36 , um algoritmo de codificação de coordenadas, usa raiz 36, mas usa uma mistura de letras maiúsculas e minúsculas do alfabeto para evitar vogais, números que parecem vogais e outras confusões de caracteres.
Vários sistemas, como o RickDate, usam a base 36 como uma representação compacta das datas gregorianas em nomes de arquivos, usando um dígito cada para o dia e o mês.
A Dell usa um número base 36 de 5 ou 7 dígitos (etiqueta de serviço) como uma versão compacta de seus códigos de serviço expresso.
O pacote de software SalesLogix usa a base 36 como parte de seus identificadores de banco de dados.
O site TreasuryDirect , que permite aos indivíduos comprar e resgatar títulos diretamente do Departamento do Tesouro dos Estados Unidos em formato eletrônico sem papel, serializa as compras de títulos em uma conta usando um número de base 36 de 4 dígitos. No entanto, as letras latinas de A a Z são usadas antes dos algarismos arábicos de 0 a 9, de modo que as compras são listadas como AAAA, AAAB ... AAAZ, AAA0, AAA1 ... AAA9, AABA ...
O programa cliente de e-mail PMMail codifica a hora UNIX de chegada do e-mail e a usa para os seis primeiros caracteres do nome do arquivo da mensagem.
O MediaWiki armazena arquivos carregados em diretórios com nomes derivados da representação de base 36 da soma de verificação de um arquivo carregado.
Siteswap , um tipo de notação de malabarismo, frequentemente emprega 0–9 e a – z para significar o tempo de permanência de um lançamento (que pode ser considerado aproximadamente a altura do lançamento). Jogadas mais altas do que 'z' podem ser feitas, mas nenhuma notação tem aceitação generalizada para essas jogadas.
Em identificadores de títulos SEDOL , o dígito de verificação é calculado a partir de uma soma ponderada dos primeiros seis caracteres, cada caractere interpretado na base-36.
No International Securities Identification Number (ISIN), o dígito de verificação é calculado primeiro tomando o valor de cada caractere na base 36, concatenando os números juntos e, em seguida, fazendo uma soma ponderada.
Reddit usa base-36 para identificar postagens e comentários.