Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
фыдфт
1 / 1 / 0
Регистрация: 22.07.2013
Сообщений: 24
#1

в чем ошибка?

24.07.2013, 21:29. Просмотров 483. Ответов 15
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <windows.h>
using namespace std;
 
int main()
{
    cout <<"20 & 50 = "<<(20&50)<<endl;
    cout <<"10 ^ 30 = "<<(10^30)<<endl;
    cout <<"60 | 25 = "<<(60|25)<<endl;
    system ("pause");
    return 0;
}
20 & 50 = 16 почему?
10 ^ 30 = 20 почему?
60 | 25 = 61 почему?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2013, 21:29
Ответы с готовыми решениями:

Реализовать через тип данных структура. При сборке и отладки возникает ошибка. В чем ошибка?
С++ в таблице из 5 строк хранятся данные о товарах: наименование, цена,...

Ошибка 2 error LNK2019, не пойму в чем ошибка
Выдает такую ошибку: Ошибка 2 error LNK2019: ссылка на неразрешенный внешний...

В чем ошибка? При запуске программы открывается консоль и сразу ошибка о завершении программы
К тому же выдает warning: deprecated conversion from string constant to 'char*'...

В чем ошибка????
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; void main (void)...

В чем ошибка?
#include &lt;stdafx.h&gt; #include &lt;iostream&gt; #include &lt;Windows.h&gt; #include...

15
ValeryS
Модератор
7170 / 5437 / 674
Регистрация: 14.02.2011
Сообщений: 18,372
24.07.2013, 21:33 #2
Цитата Сообщение от фыдфт Посмотреть сообщение
20 & 50 = 16 почему?
10 ^ 30 = 20 почему?
60 | 25 = 61 почему?
в двоичное переведи и узнаешь почему
(20) 10100 & (50)110010 =10000 (16)
все эти операции работают с битами
1
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
24.07.2013, 21:36 #3
Цитата Сообщение от фыдфт Посмотреть сообщение
в чем ошибка?
а в чем суть задачи? многие тут любят с битами работать и могут подсказать, если что.
0
фыдфт
1 / 1 / 0
Регистрация: 22.07.2013
Сообщений: 24
24.07.2013, 21:39  [ТС] #4
как в двоичное перевести
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
24.07.2013, 21:47 #5
Цитата Сообщение от фыдфт Посмотреть сообщение
как в двоичное перевести
так в компьютере уже все в двоичном виде. а если вывести, то так можно

C++
1
2
3
4
5
6
7
8
void Print(unsigned a)
{
   if(a)
   {
      Print(a >> 1);
      std::cout << (a & 1);
   }
}
0
фыдфт
1 / 1 / 0
Регистрация: 22.07.2013
Сообщений: 24
24.07.2013, 21:48  [ТС] #6
Цитата Сообщение от Thinker Посмотреть сообщение
так в компьютере уже все в двоичном виде. а если вывести, то так можно

C++
1
2
3
4
5
6
7
8
void Print(unsigned a)
{
   if(a)
   {
      Print(a >> 1);
      std::cout << (a & 1);
   }
}
это с++?
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
24.07.2013, 21:50 #7
Цитата Сообщение от фыдфт Посмотреть сообщение
это с++?
да, а что вас удивляет?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
void Print(unsigned a)
{
   if(a)
   {
      Print(a >> 1);
      std::cout << (a & 1);
   }
}
 
int main()
{
   Print(123);
   return 0;
}
0
Croessmah
24.07.2013, 21:54
  #8

Не по теме:

Цитата Сообщение от Thinker Посмотреть сообщение
да, а что вас удивляет?
а если Print ( 0 )? :(

0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
24.07.2013, 21:57 #9
Цитата Сообщение от Croessmah Посмотреть сообщение

Не по теме:


а если Print ( 0 )?

ну вы же видели сразу, что только для положительных, поэтому рекурсия удобная. лишние циклы и параметры не хочется писать, а так красиво.

можно нулевой бит добавлять, тогда и 0 учтется, но не то это уже

C++
1
2
3
4
5
6
7
8
9
void Print(unsigned a)
{
   if(a)
   {
      Print(a >> 1);
      std::cout << (a & 1);
   }
   else std::cout << 0;
}
0
фыдфт
1 / 1 / 0
Регистрация: 22.07.2013
Сообщений: 24
24.07.2013, 22:00  [ТС] #10
Цитата Сообщение от Thinker Посмотреть сообщение
да, а что вас удивляет?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
void Print(unsigned a)
{
   if(a)
   {
      Print(a >> 1);
      std::cout << (a & 1);
   }
}
 
int main()
{
   Print(123);
   return 0;
}
Print - я думал он в C
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
24.07.2013, 22:00 #11
Цитата Сообщение от фыдфт Посмотреть сообщение
Print - я думал он в C
это не простой Print(), а особый В Си printf(), fprintf(), sprintf()
0
фыдфт
1 / 1 / 0
Регистрация: 22.07.2013
Сообщений: 24
24.07.2013, 22:02  [ТС] #12
Цитата Сообщение от Thinker Посмотреть сообщение
так в компьютере уже все в двоичном виде. а если вывести, то так можно

C++
1
2
3
4
5
6
7
8
void Print(unsigned a)
{
   if(a)
   {
      Print(a >> 1);
      std::cout << (a & 1);
   }
}
я имел ввиду как перевести цифру в двоичный
я не умею переводить цифры в двоичный(
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
24.07.2013, 22:04 #13
Цитата Сообщение от фыдфт Посмотреть сообщение
я имел ввиду как перевести цифру в двоичный
я не умею переводить цифры в двоичный(
наверное, вы хотели сказать "числа". Первый шаг к этому это разобраться с битовыми операциями &, |, ^, ~, >>, <<
0
фыдфт
1 / 1 / 0
Регистрация: 22.07.2013
Сообщений: 24
24.07.2013, 22:06  [ТС] #14
Цитата Сообщение от Thinker Посмотреть сообщение
наверное, вы хотели сказать "числа". Первый шаг к этому это разобраться с битовыми операциями &, |, ^, ~, >>, <<
я имел ввиду числа а с битовыми операциями я знаком
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
24.07.2013, 22:09 #15
Цитата Сообщение от фыдфт Посмотреть сообщение
я имел ввиду числа а с битовыми операциями я знаком
судя по теме, как-то не чувствуется. научитесь просто выделять любой бит числа и группы бит для начала.
1
ValeryS
Модератор
7170 / 5437 / 674
Регистрация: 14.02.2011
Сообщений: 18,372
24.07.2013, 23:10 #16
Цитата Сообщение от фыдфт Посмотреть сообщение
я имел ввиду как перевести цифру в двоичный
я не умею переводить цифры в двоичный(
открой калькулятор в режиме программист и смотри десятичный, двоичный шестнадцатеричный форматы
а если хочешь сам то учится надо
есть куча методов
например метод деления
метод весовых коффициентов
вот например метод деления
http://numeration.ru/dectobin.html
1
24.07.2013, 23:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.07.2013, 23:10

В чем ошибка?
Программист Денис c детства мечтал побывать в Антарктиде, но почему-то...

В чем ошибка
Я пытаюсь вывести элементы массива в обратном порядке, в чем моя ошибка ...

В чем ошибка?
1)вычислить сумму элементов массива с нечетными номерами 2)вычислить сумму...


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

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

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