klar sind die 00's wichtig. am beispiel programmdatei (*.exe): wenn du die rausschnippelst, verschiebst du alle offsets in dem programm, danach läuft es mit sicherheit nicht mehr. stimmt aber schon, daß man sie theoretisch weglassen könnte, aber das ist sache des programmierers - nach dem compilieren kannste da nichts mehr rauskürzen. die dinger entstehen in programmen manchmal durch faulheit (wenn ich nur mit 16bit-werten arbeite, meine speicher-routinen aber nur 32bit-werte können, speicher ich die 16bit einfach als 32bit - die folge davon sind zwei verschenkte bytes. alternativ könnte ich ja eine speicherroutine für 16 bit-werte schreiben...) oder als platzhalter - z.b. ich möchte mir die möglichkeit offenhalten, in einem textformat später mal zeichenfarben mitspeichern zu können. oftmals sind aber auch viele werte beim programmstart null oder bei nicht-programm-dateien einfach nur ungenutzt - also entstehen als folge auch diese "leerstellen".