$dec = 967;
$res = ($dec >> 8) << 7 | ($dec % 128);
var_dump($res); //результат 455
($dec >> 8) << 7
теряет нижние 8 бит и сдвигает на один вправо.$dec % 128
оставляет нижние 7 бит.(($res & ~0x7F) << 1) | ($res & 0x7F)
и, возможно, | 0x80
.((585 & ~0x7F) << 1) | (585 & 0x7F) | 0x80 = 1225
.