Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/41: Рейтинг темы: голосов - 41, средняя оценка - 4.95
4 / 4 / 0
Регистрация: 21.02.2011
Сообщений: 61
1

Обнуление битов

08.04.2011, 17:18. Показов 8482. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано целые числа N и k. Обнулите у числа N его последние k бит и выведите результат. Рекомендуется сделать эту задачу без использования циклов.
Технические условия
Входные данные
Во входном файле даны числа N (0 ≤ N ≤ 2^31 - 1) и k (0 ≤ k ≤ 30).
Выходные данные
В выходной файл выведите число, получившееся после обнуления k бит.

Как написать, 2 в 31 в unsigned не умещается(((
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.04.2011, 17:18
Ответы с готовыми решениями:

Обнуление битов
Вечер добрый, народ. Очень нужна ваша помощь. Есть задача: Написать функцию, указанную в задании,...

Из двух целых чисел А и B собрать одно, состоящее из четных битов A и нечетных битов B...
Нужна помощь с задачей. Из двух целых чисел А и B собрать одно, состоящее из четных битов A и...

Перевод таблицы битов и времени в последовательность битов arduino
доброго времени суток в приведенной ниже таблице левый столбец - биты, правый - их длительность....

Операции с побитовыми операторами (число 8 битов и число 9 битов)
Доброго времени суток всем ! Прошу ответа на несложный вопрос (...по крайней мере мне так...

3
20 / 20 / 2
Регистрация: 23.09.2010
Сообщений: 193
08.04.2011, 17:21 2
как раз таки в unsigned int должны умещаться. там 32 бита
signed int = 31 бит
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
08.04.2011, 18:04 3
Проверку на допустимость вводимых данных добавьте при желании
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
#include <stdio.h>
#include <math.h>
#include <limits.h>
    
#define INT_BIT CHAR_BIT * sizeof(int)
    
// вывод чисел в двоичном виде для наглядности
char * bin_str(unsigned n){
    static char buf[INT_BIT + 1] = { 0 };
    int i;
    for ( i = 0; i < INT_BIT; ++i )
        buf[i] = ( n & 1 << ( INT_BIT - i - 1 ) ) ? '1' : '0';
    return buf;
}
 
int main(void){
    unsigned n, k;
    
    while ( printf("Number: ") && scanf("%i", &n) == 1 ){
        printf("Number of bits to become zero: ");
        scanf("%i", &k);
        printf("Before: %s (%#x)\n", bin_str(n), n);
        n &= ~((int)pow(2.0, (double)k) - 1);
        printf("After:  %s (%#x)\n", bin_str(n), n);
    }
    
    return 0;
}
Код
$ ./zeroing_bits
Number: 255
Number of bits to become zero: 4
Before: 00000000000000000000000011111111 (0xff)
After:  00000000000000000000000011110000 (0xf0)
Number: -1
Number of bits to become zero: 3
Before: 11111111111111111111111111111111 (0xffffffff)
After:  11111111111111111111111111111000 (0xfffffff8)
Number:
2
4 / 4 / 0
Регистрация: 21.02.2011
Сообщений: 61
08.04.2011, 22:33  [ТС] 4
Большое спасибо)
1
08.04.2011, 22:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.04.2011, 22:33
Помогаю со студенческими работами здесь

Обнуление буфера.
Доброе время суток! Есть например буфер &quot;b&quot;. Надо его перед использованием в цикле обнулять. Как...

Обнуление переменной
int _tmain(int argc, _TCHAR* argv) { setlocale(LC_ALL, &quot;rus&quot;); double A; int ik, in, h;...

Обнуление переменной
Здрасте. struct sItems { int ITEM_STRONG_LIFEPOWER; int ITEM_EXCELLENT_GENES; int...

обнуление переменной
Добрый день Господа !!! как обнулить переменную типа string Добавлено через 8 минут нашёл


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

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