xxxxxxxxxxusing Images, FileIOConversão de Bases Numéricas
Símbolos que temos habitualmente para representar números:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Quando acabam os símbolos, nós os juntamos: 10, 11, 12, 13...
Esta é a base DECIMAL - dez símbolos
Binário
Temos 2 símbolos: 0 e 1
BIT - Binary digIT - 'dígito' de valor 0 ou 1
0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010
Existem 10 tipos de pessoas no mundo: as que sabem binário e as que não.
BYTE - conjunto de 8 bits
00000000, 00000001, 00000010...
Endereço I.P
142.250.78.206
4 BYTES - 32 Bits
00000000 . 00000000 . 00000000 . 00000000 números de 0 a 255 (256 valores) =
Representação de Cores
RGB - Vermelho (Red), Verde (Green), Azul (Blue)
0-255, 0-255, 0-255, [opcionalmente: alfa - 0 - 255]
Hexadecimal (base 16)
16 símbolos
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
10, 11, 12, ..., 1A, 1B, ...
Binario: 00011101
Hexadecimal: 1D
Decimal: 29
truexxxxxxxxxx# na própria base decimalbegin 12854 == 4 + 50 + 800 + 2000 + 10000endConvertendo 00011101 de binário para decimal
em decimal = 29
Convertendo de decimal para outra base
Primeiro, dividimos o número na base 10 pela base desejada; em seguida dividimos o quociente desta primeira divisão novamente pela base desejada. Enquanto o quociente for maior ou igual à base, realizamos novas divisões.
Quando não for mais possível dividir o quociente pela base, podemos escrever o número na nova base tomando como algarismos o último quociente e todos os restos de trás para frente: o último quociente será o primeiro algarismo e primeiro resto será o último algarismo.
para_decimal (generic function with 1 method)xxxxxxxxxx# converter de outra base para decimal# function para_decimal(n, base)# expoente = 0# digitos = digits(parse(Int, n, base = base))# decimal = 0# for d in digitos# decimal = decimal + d * base^expoente# expoente = expoente + 1# end# decimal# endpara_decimal(n, base) = parse(Int, n, base = base)1380378xxxxxxxxxxpara_decimal("15101A", 16)substituir (generic function with 1 method)xxxxxxxxxxfunction substituir(n) extras = ["A", "B", "C","D", "E", "F"] n < 10 ? "$n" : extras[n-9]endde_decimal (generic function with 1 method)xxxxxxxxxxfunction de_decimal(n, base) # quociente q = n numero = "" while q ≥ base # resto r = q % base numero = substituir(r) * numero q = q ÷ base end substituir(q) * numero end"D5FFF"xxxxxxxxxxde_decimal(876543, 16)xxxxxxxxxx vermelho html"<input type='range' min='0' max='255'>"xxxxxxxxxx verde html"<input type='range' min='0' max='255'>"xxxxxxxxxx azul html"<input type='range' min='0' max='255'>"RGB:
Decimal (78, 121, 255)
HEX #4E 79 FF
xxxxxxxxxxbegin r = vermelho/255 g = verde/255 b = azul/255 RGB(r, g, b)end