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

Поменять байты - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ FACTORIAL http://www.cyberforum.ru/cpp-beginners/thread1031072.html
Кто-нибудь может конкретно сказать что тут не так и помочь ??? #include <iostream> #include <conio.h> #include <math.h> #include <cmath> using namespace std; int factorial (int n)
C++ Виртуальное наследование Здравствуйте, объясните как реализовано(внутри)под капотом виртуальное наследование? Например виртуальные методы реализованы через таблицу виртуальных методотов Или может ссылку где прочитать. http://www.cyberforum.ru/cpp-beginners/thread1031057.html
C++ Обработка матриц
Помогите дописать код программы вот условие:Вычислить сумму и число элементов матрицы, находящихся под главной диагональю и на ней. В (N, N) N<12 Я сделал только сумму, а мне нужно еще дописать...
C++ Считать в строку три предложения в вывести их в обратном порядке
Считать в строку три предложения в вывести их в обратном порядке #include<conio.h> #include<stdio.h> #include<stdlib.h> #include<string.h> int main() {char s1, s2, s3; puts("s1"); gets(s1);...
C++ [страуструп] задача на нахождение корней кв ур-я , проверьте пожалуйста http://www.cyberforum.ru/cpp-beginners/thread1031053.html
Здравствуйте, в книге Страуструпа "Основы и принципы программирования" есть задача на нахождение корней кв. ур-я, я её написал, но терминал выдает такое - http://puu.sh/5DQV0.png , я так понимаю ,...
C++ С++ (одномерний массив) Дано одномерний массив который состоит из 20 элементов. Определить сумму 5 последних элементов массива. подробнее

Показать сообщение отдельно
stima
490 / 342 / 40
Регистрация: 22.03.2011
Сообщений: 1,095
Завершенные тесты: 2
06.12.2013, 19:25
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
 
inline
int is_bit_set(long int value, int bit)
{
    return (value & ((long int)1 << bit)) != 0;
}
 
void print_binary(long int number)
{
    int size = sizeof(number) * 8 - 1;
    for (int i = size; i > 0; --i)
    {
        std::cout << is_bit_set(number, i) << " ";
    }
    std::cout << is_bit_set(number, 0) << std::endl;
}
 
inline
void swap_bit(long int& number, int set_bit, int unset_bit)
{
    number |= ((long int)1 << set_bit);
    number &= ~((long int)1 << unset_bit);
}
 
void swap(long int& number, int lhs_bit, int rhs_bit)
{
    int lhs_bit_set = is_bit_set(number, lhs_bit);
    int rhs_bit_set = is_bit_set(number, rhs_bit);
 
    if (lhs_bit_set == rhs_bit_set)
    {
        return;
    }
 
    if (lhs_bit_set && !rhs_bit_set)
    {
        swap_bit(number, rhs_bit, lhs_bit);
        return;
    }
 
    swap_bit(number, lhs_bit, rhs_bit);
}
 
int main()
{
    long int number = 0;
    std::cout << "Enter number" << std::endl;
    std::cin >> number;
 
    print_binary(number);
    
    swap(number, 0, sizeof(long int) * 8 - 2);
    swap(number, 1, sizeof(long int) * 8 - 1);
 
    print_binary(number);
 
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru