Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
2 / 1 / 1
Регистрация: 20.02.2018
Сообщений: 50
1

Задано целое число N. Определить, является ли оно бинарным

07.03.2018, 15:36. Показов 1687. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, попалась данная задачка:
Задано целое число N. Требуется определить, является ли оно бинарным.
Не смог найти решение и просмотрел решение и увидел данный код.
Delphi
1
2
3
4
5
6
7
var n: Integer;
begin
 
  read (n);
  if n and (n-1)=0 then WriteLn('YES') else WriteLn('NO');
  readln;readln;
end.
Не могу понять строчку с if. Как n и n-1 может равняться нулю, если у нас идет число больше 1 как минимум. Объясните, пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.03.2018, 15:36
Ответы с готовыми решениями:

Дано целое число. Определить, является ли оно автоморфным
помогите пожалуйста по времени не успеваю буду благодарен надо решить такие задачи в делфи 1.Дано...

Вводится положительное целое число B < 10000. Является ли оно палиндромом?
Вводится положительное целое число B &lt; 10000. Является ли оно палиндромом? Палиндром – это строка...

Если данное целое число оно является отрицательным, то прибавить к нему 5; в противном случае прибавить 10
Дано целое число. Если оно является отрицательным , то прибавить к нему 5; в противном случае...

Как на делфи написать прогу типа Ввести с клавиатуры целое число и определить делится ли оно нацело на 9 и на 11
как на делфи написать прогу типа Ввести с клавиатуры целое число и определить делится ли оно нацело...

2
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,129
Записей в блоге: 3
08.03.2018, 07:29 2
Цитата Сообщение от RamPG Посмотреть сообщение
просмотрел решение и увидел данный код.
Цитата Сообщение от RamPG Посмотреть сообщение
Объясните, пожалуйста.
то есть код нашел ты, а объяснять должен другой?
0
Эксперт Pascal/Delphi
4912 / 2781 / 853
Регистрация: 04.10.2012
Сообщений: 10,121
08.03.2018, 11:22 3
Цитата Сообщение от RamPG Посмотреть сообщение
является ли оно бинарным
Цитата Сообщение от RamPG Посмотреть сообщение
Не могу понять строчку
RamPG, а Вам слово "БИнарный" ни о чем не говорит? Приставка "би"- (от латинского - "дважды") в данном слове тоже?
Небольшой комментарий, к этому же условию, есть здесь.

В остальном:

Бинарные числа - это числа из двоичной системы счисления, имеющей основание 2.
Любое число, сколь бы большим оно ни было, в двоичной системе записывается посредством двух символов: 0 и 1. Допустим число https://www.cyberforum.ru/cgi-bin/latex.cgi?{25}_{10}={00011001}_{2}
Т.е. чтобы проверить является ли число n бинарным, необходимо определить, является ли оно степенью 2, т.е. можно ли число 2 возвести в какую-то степень, чтобы получить число n? Если да, то число n - бинарное. В противном случае - не бинарное.

То условие, которое прописано выше,
Delphi
1
...n and (n-1) =0...
использует для этого битовые операции (логическое умножение - конъюнкция). Если не знаете, что это такое, то займитесь для начала алгеброй логики.

Например, приведенное выше число 25 не является бинарным, а число 128 (128=https://www.cyberforum.ru/cgi-bin/latex.cgi?{2}^{7}) - бинарное и т.д.

P.S. Эта же "задачка" решается еще с применением логарифмов.
0
08.03.2018, 11:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.03.2018, 11:22
Помогаю со студенческими работами здесь

Определить, является ли введённое Вами целое число N четным
Помогите, пожалуйста, написать код программы в Delphi Определить, является ли введённое Вами целое...

Определить, является ли данное целое число N нечетным четырехзначным числом
Определить, является ли данное целое число N нечетным четырехзначным числом.

Определить, делителем каких целых чисел a, b и c является целое число N
Определить, делителем каких целых чисел a, b и c является целое число N.

Определить делится на целое число Х целое число У без остатка
Определить делится на целое число Х целое число У без остатка. Если делиться то разделить ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru