[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 20:43:33 -0300 (BRT) |
User-agent: |
Pine <http://www.washington.edu/pine/> |
On Fri, 28 Jul 2006 8:14pm -0300, Reinaldo Carvalho wrote:
> Felipe,
>
> > % echo $((0x8001 & 0xff00))
> > 32768
> >
> Não entendi como isso funciona.. pode dar mais exemplos?
Reinaldo,
Desculpas, pensei que o exemplo estava claro. Eu estou fazendo uma
operação /and/ bitwise, como em C, C++, ou similares. O resultado que eu
estou obtendo é em decimal. As operações bitwise suportadas pelos shells
são &, ^, |, e shifts para esquerda ou direita.
Eu enviei uma outra mensagem para esta mesma thread que tem mais exemplos
sobre isto, talvez eles ajudem. Fale se tiver mais alguma dúvida sobre a
aplicação dos operadores. Observação: A precedência deles é a mesma que
em C/C++.
> > % echo $((16#8000))
> > 32768
> >
> Perfeito, com certeza a melhor maneira Hexa => Decimal
> Existe algo semelhante para Decimal => Hexa ?
Oh, sim. Dependendo do shell. Em zsh há uma interface matemática simples
que faz o inverso de base#, que é [#base]. Por exemplo, invertendo o
exemplo anterior:
% print $(([#16]32768))
16#8000
Ou no formato C...
% setopt C_BASES
% print $(([#16]32768))
0x8000
A opção em outros shells e zsh também, genérica, é usar printf builtin dos
shells (lembra-se que há o comando printf também). Se tu estiveres usando
bash, podes usar a opção -v, como nos exemplos que seguem:
$ printf "%x\n" 32768
8000
Ou
$ printf -v convertido "%x\n" 32768
Agora convertido tem o valor convertido.
$ printf "Valor convertido: %d\n" $convertido
Valor convertido: 8000
Recomendo o uso de zsh, que tem todo o suporte a conversões de bases tudo
buildin (base#, base##, [#base], [##base], etc). Boa sorte com os teus
trabalhos com tc/iproute, este assunto é realmente interessante ;-)
Bom final-de-semana,
--
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