Qual é o numeral da base maior que 16 em ac?

0

Li recentemente sobre bc e descobri que ele suporta obase até 999. Alguém pode me apontar para o conjunto numérico para bc para base maior que 16.

    
por Palash Kanti Kundu 12.07.2017 / 20:38

2 respostas

1

Sim, o bc pode processar números com bases até 999.

Como exemplo:

$ echo "ibase=10;obase=40;3*40^2+7" | bc
03 00 07

Ou, como deveria ser "307" = 3*40^2 + 0*40^1 + 7*40^0 . Ou 4807 em decimal.

$  echo "ibase=10;obase=10;3*40^2+7" | bc
4807

Assim, os valores são impressos como um número de dois dígitos (decimal) com um espaço como separador.
Algum outro exemplo:

$ echo "ibase=10;obase=530;371*530^9+222*530^3+127" | bc
371 000 000 000 000 000 222 000 000 127

Ou talvez (no bash), o mesmo número:

$ bc <<<"obase=530;1224212292558591376050694127"
371 000 000 000 000 000 222 000 000 127
    
por 12.07.2017 / 21:51
6

Isso é abordado na página de manual de bc :

For bases greater than 16, bc uses a multi-character digit method of printing the numbers where each higher base digit is printed as a base 10 number. The multi-character digits are separated by spaces. Each digit contains the number of characters required to represent the base ten value of "obase-1".

    
por 12.07.2017 / 20:56

Tags