小明学习了原码、反码、补码后,发现小数值用4字节补码存储较为浪费,因此找到一种正整数的变长编码方式,规则如下:
0000000;$(1110011110)_2$分为两组0011110、0000111。00000000,926的变长编码为2字节10011110、00000111。
这种编码可根据数值大小动态调整字节数,例如数值$987654321012345678$的变长编码十六进制表示为CE 96 C8 A6 F4 CB B6 DA 0D,共9字节。
请编写程序,计算给定正整数的变长编码。输入第一行包含一个正整数N,约定 $0 \leq N \leq 10^{18}$。
输出一行,为N对应的变长编码的每个字节,每个字节用2位大写十六进制表示(A-F使用大写字母),字节之间用空格分隔。
0
00
926
9E 07
987654321012345678
CE 96 C8 A6 F4 CB B6 DA 0D