# [Jelly], 4 [bytes]

    HL\^

A monadic Link that accepts an integer and yields a list of one integer.
...Or a full program that accepts an integer and prints the result.

The code's bytes only change by one bit each time, as required:

| Byte | Hex  | Binary     |
|:----:|:----:|:----------:|
| `H`  |**48**|**01001000**|
| `L`  |**4C**|**01001100**|
| `\`  |**5C**|**01011100**|
| `^`  |**5E**|**01011110**|

**[Try it online!][TIO-l4n6ouq0]**

### How?

The shortest code that starts with `H` (halve) and ends with `^` (XOR the input) for which the code in between has no adverse effect while fulfilling the source-code restriction of only changing by at most one bit from byte to byte.

    HL\^ - Link: integer, N
    H    - halve N                    -> N/2
      \  - cumulative reduce with:
     L   -   length                   -> [N/2]
       ^ - (floor to integer) XOR (N) -> [floor(N/2) XOR N]

---

###### Note
`:2` (integer divide by two) seems like a reasonable start as the bytes already only differ by one bit, but the next available bytes (`Ø"036:rḶ`) don't really help us advance.

[Jelly]: https://github.com/DennisMitchell/jelly
[bytes]: https://github.com/DennisMitchell/jelly/wiki/Code-page

[TIO-l4n6ouq0]: https://tio.run/##y0rNyan8/9/DJybu////hkbGAA "Jelly – Try It Online"