Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 39
1

Операция логического отрицания над двоичным числом

24.05.2014, 20:28. Показов 2352. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу получить логическое отрицание. Пользователем вводится любое двоичное число А(например 101), мне нужно на выходе неА (т.е. 010).
Вот часть моего кода:
C++
1
2
3
4
5
6
7
 
String a = Edit1->Text, b = Edit2->Text;
  unsigned long c = StrBinToDec(a);
  int d = ~c;
 
  Label3->Visible=true;
  Label3->Caption = DecToBin(d);
Вот результат:
Операция логического отрицания над двоичным числом


Помогите пожалуйста получить правильный ответ в двоичном виде. Надеюсь на вашу помощь.
Прикрепляю свою программу для наглядностиProgram.rar
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2014, 20:28
Ответы с готовыми решениями:

Логическая операция над 16-ричным числом.
Здравствуйте. Есть код, который выполняет какие то логические приеобразования над значениями...

Внесение логического отрицания
Доброго времени суток. Есть задача, в которой необходимо внести логическое отрицание внутрь...

Проверка выполнения условия с помощью логического отрицания
Напишите условие if для проверки того факта, что age НЕ находится между 0 и 14 включительно. Нужно...

Является ли строка двоичным числом
Написать программу, которая проверяет, является ли введенная с клавиатуры строка двоичным числом.

2
30 / 24 / 27
Регистрация: 06.05.2014
Сообщений: 161
24.05.2014, 21:31 2
БлюдоМира, Вы не учитываете одного маленького факта.

После строчки 3 переменная с будет иметь вид 00000000 00000000 00000000 00000101.

В таком случае, ~c имела бы вид 11111111 11111111 11111111 11111010. Понимаете?

Вы же используете еще и преобразование к int, поэтому число становится отрицательным.
1
return (true);
1976 / 1111 / 221
Регистрация: 19.04.2011
Сообщений: 2,345
25.05.2014, 14:31 3
Как вариант переворота
C++
1
2
3
4
5
6
 AnsiString a="1110";
 AnsiString b;
 for (short i=0; i<a.Length(); i++)
  if (a[i+1]=='1') b=b+'0';
  else b=b+'1';
 ShowMessage(b);
1
25.05.2014, 14:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2014, 14:31
Помогаю со студенческими работами здесь

Инициализация переменных двоичным числом
Возник такой вопрос. Как известно: a - десятичное число, b - восьмеричное, c -...

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

Является ли введенная с клавиатуры строка двоичным числом
Написать алгоритм программы проверяющей является ли введенная с клавиатуры строка двоичным числом.

Проверить, является ли введенная с клавиатуры строка двоичным числом
Написать программу которая проверяет является ли введенная с клавиатуры строка двоичным числом.


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

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