Help for this page

Select Code to Download


  1. or download this
    $D3 = ( $num >> 0 ) & ( 1 << 4 ) - 1;  # 4 bits starting at bit 0
    $D2 = ( $num >> 4 ) & ( 1 << 3 ) - 1;  # 3 bits starting at bit 4
    $D1 = ( $num >> 7 ) & ( 1 << 1 ) - 1;  # 1 bit  starting at bit 7
    
  2. or download this
    $D3 = $num & ( 1 << 4 ) - 1;  # 4 bits starting at bit 0
    $num = $num >> 4;
    ...
    
    $D1 = $num & ( 1 << 1 ) - 1;  # 1 bit  starting at bit 7
    $num = $num >> 1;
    
  3. or download this
    @width = ( 4, 3, 1 );
    
    ...
    
    $D1 = $num & ( 1 << $width[ 2 ] ) - 1;  # 1 bit  starting at bit 7
    $num = $num >> $width[ 2 ];
    
  4. or download this
    sub bitfield {
        my ( $num, @field ) = @_;
    ...
        }
        return @value;
    }