memorizzare un numero di telefono su eeprom

invece io non capisco questo:

 K = Telefono;                    //<--qui hai il numero di telefono e lo copi in K ?
 delay(2000);                    // aspetti 2 secondi, perchè ??
 A = (K >> 24) & 0b11111111; // converti il numero in k nelle 4 variabili
 B = (K >> 16) & 0b11111111;
 C = (K >> 8)  & 0b11111111;
 D = K & 0b11111111;

 Serial.println(A, DEC);//HEX        // le stampi a video
 Serial.println(B, DEC);//HEX
 Serial.println(C, DEC);//HEX
 Serial.println(D, DEC);//HEX
 
 EEPROM.write(1, A);                 // e le usi per scrivere sulla eprom
 EEPROM.write(2, B);
 EEPROM.write(3, C);
 EEPROM.write(4, D);

          // poi usi le 4 variabili per ricomporre il numero di telefono
          // che però hai ancora sia nella variabile K che nella variabile Telefono

Z = ((unsigned long)(A) << 24) | ((unsigned long)(B) << 16) | ((unsigned long)(C) << 8) | (unsigned long)(D);


         // rileggi in numero dalla eprom (e qui va bene così controlli se è scritto giusto

p = ((unsigned long)(EEPROM.read(1)) << 24) | ((unsigned long)(EEPROM.read(2)) << 16) | ((unsigned                                        long) (EEPROM.read(3)) << 8) | (unsigned long)(EEPROM.read(4));


Serial.print("Scrivo la eprom  ");   // e ristampi a video
Serial.println(Z, DEC);//HEX
Serial.print("Leggo la eprom  ");
Serial.println(p, DEC);//HEX