Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 07.12.2014
Сообщений: 103
1

Определить количество разрядов, которые различаются в записи двух двоичных чисел

09.04.2015, 06:27. Просмотров 729. Ответов 9
Метки нет (Все метки)

Определить количество разрядов, которые различаются в записи 2х двоичных чисел
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2015, 06:27
Ответы с готовыми решениями:

Перевести с Delphi на C++. Ускорение умножения двоичных чисел с анализом двух разрядов
Zdrastvuite dorogie programmisty... esli est vozmojnost perevidite na yazyk C++ Добавлено через...

Определить количество двоичных 11-значных чисел, имеющих в записи 6 нулей
ответ можно записать в виде числа сочетаний))

Определить количество двоичных не более чем 10-значных чисел, имеющих в записи 6 единиц
Определить количество двоичных не более чем 10-значных чисел, имеющих в записи 6 единиц. Мое...

Написать процедуру, реализующую блок суммирования содержимого двоичных разрядов двух чисел по представленной ниже схеме
Задача: Написать процедуру, реализующую блок суммирования содержимого двоичных разрядов двух...

9
Эксперт Pascal/Delphi
2275 / 1264 / 1478
Регистрация: 29.08.2014
Сообщений: 4,575
09.04.2015, 07:19 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
var
  a,b:string;
  k,i:integer;
begin
  write('введите 1 число в двоичной записи:');readln(a);
  write('введите 2 число в двоичной записи:');readln(b);  
  k:=0;
  if length(a)<length(b) then for i:=length(a) to length(b) do a:='0'+a;
  if length(b)<length(a) then for i:=length(b) to length(a) do b:='0'+b;  
  writeln(a,' ',b);
  for i:=1 to length(a) do if a[i]<>b[i] then inc(k);
  writeln('количество отличных разрядов ',k);
end.
1
2504 / 1125 / 582
Регистрация: 07.06.2014
Сообщений: 3,271
09.04.2015, 07:30 3
Joy, оператор for в паскале не будет выполняться, если в команде for i:=A to B , B меньше A
поэтому проверки не нужны.
вполне достаточно:
Pascal
1
2
3
4
5
  k:=0;
  for i:=length(a) to length(b) do a:='0'+a;
  for i:=length(b) to length(a) do b:='0'+b;  
  writeln(a,' ',b);
  for i:=1 to length(a) do if a[i]<>b[i] then inc(k);
1
Эксперт Pascal/Delphi
2275 / 1264 / 1478
Регистрация: 29.08.2014
Сообщений: 4,575
09.04.2015, 07:41 4
Sergio Leone, нельзя так: если изначально a было меньше b, То сначала он выравнит а потом 0 к массиву b допишет
1
2504 / 1125 / 582
Регистрация: 07.06.2014
Сообщений: 3,271
09.04.2015, 07:55 5
хм. да. согласен.
а так?
Pascal
1
2
 while length(a)<length(b) do a:='0'+a;
 while length(a)>length(b) do b:='0'+b;
1
1641 / 1070 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
09.04.2015, 09:43 6
Дубль: https://www.cyberforum.ru/pascalabc/thread1416506.html
0
Эксперт Pascal/Delphi
2275 / 1264 / 1478
Регистрация: 29.08.2014
Сообщений: 4,575
09.04.2015, 10:10 7
APALoff,

Не по теме:

так тема оттуда на эту ссылается

0
APALoff
09.04.2015, 10:38
  #8

Не по теме:

Joy, это для модераторов. Ключевое слово "дубль".
P.S.: Мне дали понять, что для жалоб не стоит пользоваться кнопкой "Сообщить модератору о нарушении".

0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
29282 / 19355 / 7593
Регистрация: 22.10.2011
Сообщений: 33,744
Записей в блоге: 6
09.04.2015, 11:59 9
Пардон, а чего бы не:
Pascal
1
2
3
4
5
6
7
8
9
10
uses System;
 
begin
  var a: integer := 164;
  var b: integer := 125;
  writeln(Convert.ToString(a, 2));
  writeln(Convert.ToString(b, 2));
  
  writeln(Convert.ToString(a xor b, 2).Replace('0', '').Length);
end.
?

Ну, или, если надо вводить именно двоичное представление:
Pascal
1
2
3
4
5
6
7
8
9
10
11
uses  System;
 
begin
  var a: string := '10010111';
  var b: string := '1100111011';
  writeln(a.PadLeft(16, '0'));
  writeln(b.PadLeft(16, '0'));
  writeln(Convert.ToString(
      Convert.ToInt32(a, 2) xor Convert.ToInt32(b, 2), 2
    ).Replace('0', '').Length);
end.
0
Cyborg Drone
09.04.2015, 12:00     Определить количество разрядов, которые различаются в записи двух двоичных чисел
  #10

Не по теме:

volvo удалил дубль 10 минут назад. А я не успел.

0
09.04.2015, 12:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2015, 12:00
Привет! Вот еще темы с ответами:

Найти количество чисел, суммы двух первых и двух последних цифр которых различаются не более, чем на 2
Назовём натуральное пятизначное число N (10000&lt;=N &lt;= 99999) счастливым, если суммы двух его первых...

Найти количество четырехзначных чисел, где суммы двух первых и двух последних цифр различаются не более, чем на 3
Назовём натуральное четырёхзначное число N (1000 &lt;= N &lt;= 9999) счастливым, если суммы двух его...

Определить количество разрядов в двоичной записи числа.
Дано натуральное число N. Определить количество разрядов в двоичной записи этого числа. Pascal

Вычисление двоичного числа из разрядов двоичных чисел
Здравствуйте, программирую микроконтроллеры на CVAVR И столкнулся с такой проблемой, нужно из...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.