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

Использовать битове операций для обнуления всех бит, кроме последних четырёх - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Двумерный массив http://www.cyberforum.ru/cpp-beginners/thread718416.html
вот код программы, пошагово объясните что тут выполнялось и особенно меня интересует что такое s вот задание Из матрицы размером NM получить вектор B, присвоив его k-му элементу значение 1, если элементы k-й строки матрицы упорядочены по убыванию, иначе 0. вот код int a,n,m,i,j,s,w; cout<<"Vvedite n,m <=100:"; cin>>n>>m; cout<<"Vvedite massiv:\n"; for (i=0; i<n; i++) for (j=0; j<m; j++)
C++ Структура "Студент" - прокомментировать код ребят помогите пожалуйста написать комментарий к данной программе...не могу разобраться((:-|:wall: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <dos.h> #include <iostream.h> #include <fstream.h> int zm=10,ji,m=0; http://www.cyberforum.ru/cpp-beginners/thread718411.html
Ошибка чтения из потока C++
Здравствуйте. Считываю слова в цикле из потока. while(!input.eof()) { input >> word; ..... }
Задача на рекурсию C++
Помогите с задачей, тут идёт постоянное раздвоение рекурсии, не могу его реализовать. Задача: Описать рекурсивную функцию целого типа, находящую C(N, K) — число сочетаний из N элементов по K — с помощью рекуррентного соотношения: C(N, 0) = C(N, N) = 1, C(N, K) = C(N – 1, K) + C(N – 1, K – 1) при 0 < K < N. Параметры функции — целые числа; N > 0, 0 < K < N. Дано число N и пять различных...
C++ Создать класс для работы с окружностями http://www.cyberforum.ru/cpp-beginners/thread718364.html
Составить класс для работы с окружностями. В закрытую часть класса поместить информацию о четырех координатах вершин квадрата, в который вписана окружность. Во внешней части задать и реализовать следующие функции: Функцию инициализации окружности, принимающую в качестве агрументов координаты вершин квадрата, в который вписана окружность. Функцию, определяющую, пересекается ли данная...
C++ Работа с файлами Вообщем стоит две задачи: 1) с помощью функций fstream в текстовом документе заменить все символы табуляции на пробелы. 2) в бинарном файле посчитать частоты N - грамм (N > 2) Помогите пожалуйста новичку, буду очень признателен и благодарен!) подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,920
Записей в блоге: 2
Завершенные тесты: 1
04.12.2012, 13:08     Использовать битове операций для обнуления всех бит, кроме последних четырёх
Цитата Сообщение от xtorne21st Посмотреть сообщение
Спасибо, но вы обнулили биты начиная с младшего разряда, а нужно начиная со старшего...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
void ShowBinary(int num){
    size_t NUM_BITS=sizeof(num)*8;
    for(int i=NUM_BITS-1;i>=0;--i)
        std::cout<<((num & (1<<i))?'1':'0');
}
int foo(int num){
    size_t NUM_BITS=(sizeof(num)-1)*8;
    return (num & 0xF<<NUM_BITS);
}
 
 
int main()
{
    int x=-1;
    ShowBinary(x);
    std::cout<<std::endl;
    ShowBinary(foo(x));
    std::cin.get();
    return 0;
}
Добавлено через 1 минуту
ну или вот:
C++
1
2
3
int foo(int num){
    return num & 0xF;
}
смотря что Вам нужно.
 
Текущее время: 11:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru