Форум программистов, компьютерный форум CyberForum.ru

Для заданного положительного целого вывести младший бит - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ С++ или С. Какой язык программирования необходимо знать изначально, чтобы далее изучать Objective C? http://www.cyberforum.ru/cpp-beginners/thread1152478.html
Добрый вечер Форумчане, Нужен Ваш профессиональный совет/опыт как эксперта. Недавно я начал изучать язык программирования С++, так как конечной целью является переход на язык Objective C для разработок различных приложений (Mobile Utility Apps and 2D Games). Сегодня прочитал комментарии на www.cyberforum.ru, где пишут, что для Objective C желательно знать С, а не С++. Сейчас я в...
C++ Дан одномерный массив, состоящий из N вещественных элементов 1. Заполнить массив случайными числами. 2. Найти минимальный элемент. выдает ошибку error C2040: a: "int *" отличается по уровням косвенного обращения от "int" и error C2109: для индекса требуется массив или указатель. Объясните,пожалуйста. Что ему не нравится??? #include <stdio.h> #include <conio.h> #include <iostream> void main() { setlocale(LC_ALL, "Russian"); http://www.cyberforum.ru/cpp-beginners/thread1152477.html
C++ Функция strncmp
int main() { setlocale(LC_ALL,"Rus"); char droids = { "R2D2" , "C3PO" , "R2A6" }; // имеющиеся дроиды cout << "Ищете R2-дроида астромеханика...\n"; for (int counter = 0 ; counter <= 2 ; counter++) // проход по дроидам if ( strncmp( droids, "R2", 2 )==0 ) //сравниваем первые два символа строк {
C++ Описание без предварительного определения типа
Не мог бы кто показать 2 примера: С предварительным описанием типов и без? Просто чуть запутался
C++ Битовая операция "ИЛИ" эквивалентна операции сложения для двух целых чисел? http://www.cyberforum.ru/cpp-beginners/thread1152451.html
Всем привет. Скажите, пожалуйста, битовая операция "ИЛИ" эквивалентна операции сложения для двух целых чисел?
C++ Рандомные значения Есть прога. Хочу если пользователь ввел в строке элементы n или x, то они заменились. Но прога не работает. В чем ошибка?(Например при вводе NDRF6xnx выводилось NDRF67H9 ) код :#include <cstdlib> #include<iostream> #include <ctime> #include <string> using namespace std; char RandomNum() { int lower = 2, upper = 9, val; подробнее

Показать сообщение отдельно
NiceProgrammer
-11 / 0 / 0
Регистрация: 28.10.2013
Сообщений: 23

Для заданного положительного целого вывести младший бит - C++

20.04.2014, 19:09. Просмотров 626. Ответов 2
Метки (Все метки)

Младший бит
Для заданного положительного целого A (1 ≤ A ≤ 100), вывести младший бит A.

Например, если A = 26, то его мы можем записать в двоичном виде, как 11010, и младший бит A есть 10, и на выходе должно быть 2.

Другой пример выглядит следующим образом: при A = 88, это число A мы можем записать в двоичной форме 1011000, младший бит в A есть 1000, и на выходе должно быть 8.


Технические условия
Входные данные

Каждая строка входных данных содержит только одно целое число A (1 ≤ A ≤ 100). Строка, содержащая "0" означает конец ввода, и эта строка не является частью входных данных.

Выходные данные

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

Пример
Пример входных данных
26
88
0
Пример выходных данных
2
8

Проблема в том что выводит только значение младшего бита 1-го числа! Пробывал сделать как надо массивами, но выводило полный бред! Подскажите что и как тут поменять что бы выводилось значение младших битов каждого элемента!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <math.h>
using namespace std;
int main(){
    int n[100],i=1, k, l=1, str[100], kl=0;
    n[0]=1;
    while(n[i-1]!=0){
    cin>>n[i];
    i++;}
    k=i;
    
    int j=0;
    for(i=1; i<k-1; i++)
    while(n[i]!=0){
      if (n[i]%2==0)
      str[j]=0;
    else
      str[j]=1;
      n[i]/=2;
      j++;
}
k=j;
for(j=0; j<k; j++){
if(str[j]==0)
l*=10;
else
break;}
 
    while(l>0){
    l/=10;
    kl++;}
kl=pow(2,kl-1);
cout<<kl<<endl;
system ("Pause");
    return 0;}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru