Zmień bit numeru szesnastkowego z wiodącymi zerami w C ++, (C)

Mam ten numer w ciągu szesnastkowym:

002A05.

Muszę ustawić 7-ty bit tego numeru na 1, więc po konwersji otrzymam

022A05

Ale musi działać z każdym 6-znakowym numerem szesnastkowym.

Próbowałem przekonwertować ciąg szesnastkowy na liczbę całkowitą przez strtol, ale ta funkcja usuwa początkowe zera.

Pomóż mi, jak mogę to rozwiązać.

questionAnswers(4)

yourAnswerToTheQuestion