Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проверить, является ли двоичное представление числа палиндромом! (https://javascript.ru/forum/misc/84784-proverit-yavlyaetsya-li-dvoichnoe-predstavlenie-chisla-palindromom.html)

Slava23! 19.12.2022 13:53

Проверить, является ли двоичное представление числа палиндромом!
 
Формулировка. Дано число типа byte. Проверить, является ли палиндромом его двоичное представление с учетом того, что сохранены старшие нули. Пример таких чисел: 102 (т. к. 102 = 0110 01102, а это палиндром), 129 (129 = 1000 00012) и т. д.

рони 19.12.2022 22:55

Slava23!,
:-?
function test(a) {
            a = a.toString(2);
            if (a.length % 2) a = '0' + a;
            a = [...a];
            for (; a.length;)
                if (a.pop() != a.shift()) return false;
            return true
        }
        console.log(test(129))

Белый шум 20.12.2022 03:33

рони,
test(6) [0000 0110] выдаёт тру...

Aetae 20.12.2022 04:09

Белый шум, не существует никакого числа 00000110, есть тупо 110. Рони и так вольность проявил, добавив лишний нолик в нечётном случае.
Если нужно строго какое-то конкретное количество "старших нулей", то оное надо точно оговаривать заранее, 8 - это для числа, очевидно, 8 бит. Но числа могут быть и 16, и 32(в рамках js Number). А могут и 64+ если добавить BigInt.

Белый шум 20.12.2022 04:10

Aetae,
Перечитайте условие задачи.

Aetae 20.12.2022 04:17

Белый шум, поправил коммент, суть не меняется.)

Белый шум 20.12.2022 04:21

Aetae,
Перечитайте ещё раз ))

Aetae 20.12.2022 05:05

Белый шум, лол. Ну спишем на то что в js нет никакого типа byte, и мозг автоматически фильтрует ересь в вопросах.)


Часовой пояс GMT +3, время: 18:04.