shell-script-pt
[Top][All Lists]
Advanced

[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: Sat, 29 Jul 2006 00:18:23 -0300 (BRT)
User-agent: Pine <http://www.washington.edu/pine/>

On Fri, 28 Jul 2006 11:39pm  -0300, Reinaldo Carvalho wrote:

> parte (ffffff00), tenho que converter de hexadecimal para bits, na
> verdade preciso saber quantos bits tem nesse hexadecimal.
> 
> 80000000 = 1000 0000 0000 0000 0000 0000 0000 0000 = 1
> c0000000 = 1100 0000 0000 0000 0000 0000 0000 0000 = 2
> e0000000 = 1110 0000 0000 0000 0000 0000 0000 0000 = 3

Fiz uma pequena função para converter um hexa para cidr.

  % hexa_para_cidr 0x80000000
  1
  % hexa_para_cidr 0xc0000000
  2
  % hexa_para_cidr 0xe0000000
  3
  % hexa_para_cidr 0xffff8000
  17



  # Converte um valor hexadecimal de 32bits para CIDR.
  # Felipe Kellermann

  function hexa_para_cidr
  {
     local mascara=$1
     local cidr=0
     local base=0x80000000

     shift
     while [ $((mascara & base)) ]; do
        cidr=$((cidr + 1))
        base=$((base >> 1))
     done

     printf "%d\n" $cidr
  }


-- 
Felipe Kellermann


reply via email to

[Prev in Thread] Current Thread [Next in Thread]