Ich würde die 8 Eingänge eines Ports wählen und den entsprechenden Wert direkt aus dem Eingangsregister auszulesen.
Teorie für den ATmega328: Arduino Reference - Arduino Reference
Die Entsprechung der Pins mit den Ports kannst Du aus dem Schaltbild des Arduino Mega2560
http://arduino.cc/en/uploads/Main/arduino-mega2560_R3-schematic.pdf bzw aus diesem Dokument http://arduino.cc/en/Hacking/PinMapping2560 herauslesen.
Die Ansteuerung der Ports des ATmega2560 ist analog zu denen des ATmega328.
Einmal den Wert der 8 Schalter eingelesen kann er als Dezimalzahl ausgegeben werden.
Grüße Uwe