ms-pro, неверные результаты, должно быть так:
//Decimal to Binary // Output | Representation | Leading zeros by bytes | Note 10..toString(2); // 1010 | 1-byte & more | ...00001010 | - 128..toString(2); // 10000000 | 2-byte & more | ...0000000010000000 | 10000000 (1-byte) is -128 254..toString(2); // 11111110 | 2-byte & more | ...0000000011111110 | 11111110 (1-byte) is -2 2017..toString(2); // 11111100001 | 2-byte & more | ...0000011111100001 | - Особенности работы toString и parseInt с отрицательными числами |
Цитата:
На разных машинах используют два разных подхода к порядку следования байтов. Один подход, называемый little-endian, предполагает, что первым идёт самый младший байт числа, далее в порядке возрастания, и самый старший байт идёт последним. Второй подход, который называют big-endian, прямо противоположно: сначала идёт старший байт числа, а младший располагается в памяти последним. Т.е. моя реализация соответствует подходу "little-endian", а toString - "big-endian". Чтобы "вылечить" мою реализацию, достаточно перед 19 строкой (т.е. перед выводом конечного результата) добавить строку содержащую: byte.reverse(); P.S. я это добавил в своём предидущем посте. |
Часовой пояс GMT +3, время: 02:27. |