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

изменения порядка битов в 2-ч байтовом целом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Тип данных - массив http://www.cyberforum.ru/cpp-beginners/thread802911.html
Добрый день. Помогите разобраться с шаблоном, а точнее с типом массива. Вот сам код: #include <iostream> #include <iomanip> using namespace std; template <class T,int n> void init (T (&arr)...
C++ Динамическое выделение памяти! Программа должна читать с клавы число и имя(до 15 символов). Данные должны вводится в одной функции а выводится во второй. Сохранять данные в main(). Завершатся должна когда пользователь введет... http://www.cyberforum.ru/cpp-beginners/thread802881.html
Преобразование слов в цифры C++
вот задача: НАпишите программу преобразующую слова ноль-один-два. в цыфры 0-1-2. только я чёт немного запутался и почему то никак не могу освоить else =( напишите пожалуйста программи и если вас не...
C++ Табулирование функции
помогите пожалуйста переделать с паскаля на с++, табулирование функции. program ex1; uses crt; var a,b,h,x:single; i,n:integer; s:string; c:integer; begin clrscr; repeat
C++ Виртуальные абстрактные базовые классы http://www.cyberforum.ru/cpp-beginners/thread802832.html
Привет всем!:-) Вчера столкнулся со следующей проблемой: компилятор ругается на чистый виртуальный деструктор. Собственно листинги: //workermi.h #ifndef WORKERMI_H_ #define WORKERMI_H_ ...
C++ Анонимные каналы Доброго времени суток! Пожалуйста, помогите написать следующую программу: Разработать три программы – сервер, создающий анонимный канал, и два клиента, обменивающиеся данными по анонимному каналу.... подробнее

Показать сообщение отдельно
HighPredator
5542 / 1848 / 345
Регистрация: 10.12.2010
Сообщений: 5,450
Записей в блоге: 3
07.03.2013, 20:50
Предлагаю следующий вариант:
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
#include <iostream>
#include <string>
 
using namespace std;
 
template <class T> void ToBin(const T& N)
{
    T temp=N;
    string s;
    for(unsigned int i=1;i<=8*sizeof(T);i++)
    {
        if(temp&1) s=string("1")+s;
        else s=string("0")+s;
        temp=temp>>1;
    }
    cout<<s<<endl;
}
 
template <class T> void ReverseBitOrder(T& N)
{
    T temp=0;
    T mask=0;
    for(unsigned int i=1;i<=8*sizeof(T);i++)
    {
        mask=(N&1)<<(8*sizeof(T)-i);
        temp=temp^mask;
        N=N>>1;
    }
    N=temp;
}
 
int main()
{
    short r=17;
    ToBin<short>(r);
    ReverseBitOrder<short>(r);
    ToBin<short>(r);
    getchar();
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru