avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] efficiency of assigning bits


From: Florian Bantner
Subject: Re: [avr-gcc-list] efficiency of assigning bits
Date: Mon, 14 Mar 2005 17:05:49 +0100
User-agent: Mutt/1.3.28i

A little Perl-Script can do the job:

--- genbin2hex.pl ----------------------
#!/usr/bin/perl

sub tobin( $ ){

        $n = shift;

        $res = "";

        for( $c = 128; $c > 0; $c = int( $c / 2 ) ){

                if( int( $n / $c ) == 1 ){

                        $n -= $c;
                        $res .= "1";
                } else {
                        $res .= "0";
                }

        }

        $res;
}

print "#ifndef BIN2HEX_H\n";
print "#define BIN2HEX_H\n\n";

for( $i = 0; $i < 256; $i++ ){


        print "#define 0b" . tobin( $i ) . " " . $i . "\n";

}

print "\n#endif\n";

---/genbin2hex.pl ----------------------

Will generate Output:

#ifndef BIN2HEX_H
#define BIN2HEX_H

#define 0b00000000 0
#define 0b00000001 1
...
#define 0b11111111 255

#endif


perl genbin2hex.pl > bin2hex.h
and
#include "bin2hex.h"


Wrote it in the beginning of my avr-programming. By now I personally
find 0x7f better than 0b01111111.

Florian


-- 
--------------------------------------------------------
Florian Bantner                 fon +49 (0)941 599 854 4
AXON-E interaktive medien       fax +49 (0)941 599 854 1
technische Leitung              mail address@hidden
                                web http://www.axon-e.de
gpg public key    http://www.axon-e.de/gpg/f.bantner.key
hash  1191 0C87 D9DB 3217 ABBA  5223 6D74 AB19 5C9D FC49
--------------------------------------------------------




reply via email to

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