Wypychanie bitów, czasami określane jako pozytywne uzasadnienie, to proces dodawania dodatkowych informacji niebędących danymi do ciągu danych komputerowych, zwykle w celu zapewnienia, że dane zostaną poprawnie odczytane, gdy komputer je otrzyma. Dane komputerowe składają się z bitów informacji w postaci jedynek i zer. Aby zasygnalizować początek i koniec porcji danych, używany jest kod. Gdy rzeczywiste przesyłane informacje mogą zostać pomylone z tym kodem i zignorowane, dodatkowe bity, takie jak zera, są wstawiane — wpychane — do kodu, aby komputer wiedział, jakie dane należy przetworzyć.
Znane również jako dopełnienie bitów, wypychanie bitów pomaga zapobiegać błędom, gdy komputer otrzymuje informacje. Bity nie reprezentują żadnych rzeczywistych informacji, a po przesłaniu wszystkich danych komputer usuwa lub ignoruje niepotrzebne bity. Jeśli, na przykład, sygnałem początku linii kodu było pięć jedynek z rzędu, a wysyłanie danych zaczynało się od pięciu jedynek, komputer pomyślałby, że jest to sygnał startowy i usunie go. Aby temu zapobiec, bit zerowy zostałby wstawiony pomiędzy czwartą a piątą jedynką, tak aby był odczytywany jako „1” zamiast „1”. Komputer usunie wtedy zero i odczyta dane jako pięć jedynek zamiast je usuwać.
Innym zastosowaniem upychania bitów jest wypełnienie ciągu danych, który do poprawnej transmisji wymaga określonej liczby bitów. Ciąg informacji może wymagać długości co najmniej 10 bitów, ale obecnych jest tylko dziewięć. W tej sytuacji zostanie dodany dodatkowy bit, aby sprowadzić sumę do 10. Dodatkowy bit zostanie odrzucony podczas interpretacji danych.
Oprócz pomagania komputerowi w prawidłowej interpretacji porcji danych, wypychanie bitów służy również do wspomagania synchronizacji komputera. Komputer wysyła i odbiera informacje w stałym rytmie na podstawie swojego wewnętrznego zegara. Jeśli zbyt wiele takich samych bitów — na przykład linia samych zer — zostanie wysłanych jednocześnie, zegar komputera może się rozsynchronizować i wykonać polecenia w złej kolejności. Wstawienie jedynki do linii zer zmusza zegar komputera do ponownej synchronizacji i zapobiega temu problemowi.
Podobnie jak pomaganie komputerowi w utrzymaniu synchronizacji, wypychanie bitów pomaga również komputerowi poprawnie odczytywać dane, gdy informacje są wysyłane w bitach, a nie jako ciągły strumień. Aby nakłonić komputer do postrzegania transmisji jako ciągłej, generowane są losowe bity i wysyłane do komputera, który czeka na przesłanie następnego rzeczywistego fragmentu informacji. Dzięki temu wzorzec transmisji utrzymuje się w stałym tempie.
Komputer wie, że należy usuwać bity niebędące danymi ze strumieni danych po ich odebraniu. Programiści komputerowi muszą wiedzieć, które bity upchać, aby komputer usunął je zamiast odczytywać jako rzeczywiste dane. Gdyby komputer próbował zinterpretować te wypchane bity zamiast je odrzucać, spowodowałoby to błędy komputera w programie.