| @@ 168-178 (lines=11) @@ | ||
| 165 | /** |
|
| 166 | * @return int |
|
| 167 | */ |
|
| 168 | public function readInt24() |
|
| 169 | { |
|
| 170 | $data = unpack('C3', $this->read(self::UNSIGNED_INT24_LENGTH)); |
|
| 171 | ||
| 172 | $res = $data[1] | ($data[2] << 8) | ($data[3] << 16); |
|
| 173 | if ($res >= 0x800000) |
|
| 174 | { |
|
| 175 | $res -= 0x1000000; |
|
| 176 | } |
|
| 177 | return $res; |
|
| 178 | } |
|
| 179 | ||
| 180 | /** |
|
| 181 | * @return string |
|
| @@ 345-355 (lines=11) @@ | ||
| 342 | /** |
|
| 343 | * @return int |
|
| 344 | */ |
|
| 345 | public function readInt24Be() |
|
| 346 | { |
|
| 347 | $data = unpack('C3', $this->read(self::UNSIGNED_INT24_LENGTH)); |
|
| 348 | $res = ($data[1] << 16) | ($data[2] << 8) | $data[3]; |
|
| 349 | if ($res >= 0x800000) |
|
| 350 | { |
|
| 351 | $res -= 0x1000000; |
|
| 352 | } |
|
| 353 | ||
| 354 | return $res; |
|
| 355 | } |
|
| 356 | ||
| 357 | /** |
|
| 358 | * @return int |
|