[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] hexadecimal / traffic control
From: |
Felipe Kellermann |
Subject: |
Re: [shell-script] hexadecimal / traffic control |
Date: |
Fri, 28 Jul 2006 22:19:28 -0300 (BRT) |
User-agent: |
Pine <http://www.washington.edu/pine/> |
yOn Fri, 28 Jul 2006 9:55pm -0300, Reinaldo Carvalho wrote:
> Só para ficar registrado...
>
> Formas práticas de conversão:
>
> Hexadecimal => Decimal
> $ echo $((16#0000f0050))
> 983120
> $ echo $((0x0000f0050))
> 983120
> $ echo $((16#00050))
> 80
> $ echo $((0x00050))
> 80
Olá Reinaldo, obrigado por enviar os exemplos...
> Só achei essa forma de "Decimal => Hexadecimal" pouco flexivel...
> $ printf "%x\n" 080
> bash: printf: 080: invalid number
> 0
O printf builtin do bash tenta fazer a mesma conversão que as operações
matemáticas da gramática do shell fazem. Assim ele tenta converter o
valor 80 em octal, o que não é um número válido. Use sempre o 0x. Um
número começado por 0 é octal:
> $ printf "%x\n" 0x00080
> 80
>
Aqui tu disse para o bash (shell dummie, use zsh que ele é capaz de ver
quando ele é ou não um valor octal quando isto é possível ;-))
> TODO:
> bitwise com | e ^
> melhorar Decimal => Hexadecimal com printf
$ printf "%x\n" $((0x8010 | 0x0108))
8118
OBS: Estou usando números fáceis de se fazer a conversão mental.
O ^ é o | exclusivo,
$ printf "%x\n" $((0x1138 ^ 0x807f))
9140
1 exclusivo 8 é 9 (faça também printf %x $((2#0001 ^ 2#1000)))
1 exclusivo 0 é 1 (faça também printf %x $((2#0001 ^ 2#0000)))
3 exclusivo 7 é 4 (faça também printf %x $((2#0101 ^ 2#0111)))
8 exclusivo f é 7 (faça também printf %x $((2#1000 ^ 2#1111)))
--
Felipe Kellermann
Re: [shell-script] hexadecimal / traffic control, Tiago Barcellos Peczenyj, 2006/07/27
- Re: [shell-script] hexadecimal / traffic control, Reinaldo Carvalho, 2006/07/27
- Re: [shell-script] hexadecimal / traffic control, Tiago Barcellos Peczenyj, 2006/07/27
- Re: [shell-script] hexadecimal / traffic control, Reinaldo Carvalho, 2006/07/28
- Re: [shell-script] hexadecimal / traffic control, Felipe Kellermann, 2006/07/28
- Re: [shell-script] hexadecimal / traffic control, Julio C. Neves, 2006/07/29
- Re: [shell-script] hexadecimal / traffic control, Felipe Kellermann, 2006/07/29
- Re: [shell-script] hexadecimal / traffic control, Julio C. Neves, 2006/07/29
- Re: [shell-script] hexadecimal / traffic control, Felipe Kellermann, 2006/07/29
- Re: [shell-script] hexadecimal / traffic control, Julio C. Neves, 2006/07/30