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

Обнуление битов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Матрица http://www.cyberforum.ru/cpp-beginners/thread272503.html
помогите пожалуйста решить задачку, очень нужно(((((( Дано: Xϵ и Yϵ. Составьте матрицу таким образом, чтобы ∆X и ∆Y учитывались при создании матрицы (от ∆X и ∆Y зависит...
C++ Циклический сдвиг Как написать данную программу?Помогите пожалуйста. Посчитать количество различных, закольцованных последовательностей длиной N, где a = 0/1 (0 или 1). Две последовательности считаются... http://www.cyberforum.ru/cpp-beginners/thread272498.html
C++ Программирование для своего интересса
Народ скажите пожалуйста где можна найти интерессные идеи для реализации в своих программах чтоб было интерессно программировать а не заниматься монотонной работой!?
C++ частичная очистка экрана
вот я сделал меню в консоли, и мне нужно, чтобы не все стирать, а только какую-то часть экрана? чтобы программа работала быстрее. мне нужна команда которая бы стирала все на одном участке, а не на...
C++ Программа на Turbo C http://www.cyberforum.ru/cpp-beginners/thread272467.html
Здравствуйте!помогите исправить ошибки на Turbo C:Исследовать область определения и построить график функции:y=X/X*X+2*x+1.
C++ Вычисление разности между двумя датами (Turbo C) Здравствуйте,уважаемые эксперты!прошу вас помочь в следующем вопросе,Заранее благодарю!написать программу на Турбо С:. Даны натуральные числа a1, b1, c1, a2, b2, c2 , которые указывают две даты... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9632 / 5580 / 948
Регистрация: 25.07.2009
Сообщений: 10,714
08.04.2011, 18:04
Проверку на допустимость вводимых данных добавьте при желании
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
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru