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

Перевод бинарного номера в 32/8 бит код - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заполнение двумерного массива случайными числами, его построчная сортировка http://www.cyberforum.ru/cpp-beginners/thread667963.html
Написать функцию который принимает двумерный масив заполненый случайными цифрами и сортирует его по строчьно.
C++ Отсортируйте структуру #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> #include <algorithm> #define N 6 typedef struct Train { char pszDest; http://www.cyberforum.ru/cpp-beginners/thread667928.html
Ветвление C++
здравствуйте. помогите написать программу(с помощью Mультиветвления), выводящую на экран строку “switch” при вводе числа 1, строку “конструкции switch” – при вводе числа 2, “пример конструкции switch” – при вводе числа 3, “просто пример конструкции switch” – при вводе числа 4 и “Это просто пример конструкции switch” – при вводе числа 5. В противном случае вывести на экран сообщение “Введен...
Вычисление значения функции C++
Доброго времени суток. Дано условие. Надо вычислить значение функции Если x<0 или x>10, то z=x, в противном случае (есть картинка). Заранее благодарю за помощь...
C++ В матрице поменять местами в каждом столбце минимальный и максимальный элементы http://www.cyberforum.ru/cpp-beginners/thread667852.html
Не получается написать программу. В произвольной матрице поменять местами в каждом столбце минимальный и максимальный элементы. Помогите пожалуйста!
C++ Вычисление суммы ряда, перевести код с Pascal Вычисление суммы ряда оформить в виде процедуры с параметром (в качестве параметра использовать количество слагаемых m). Проверить правильность вычисления. Значения слева и справа должны быть равными. На экран вывести значение выражения слева, значение выражения справа и количество просуммированных членов ряда. \sin x = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \ldots + \frac{(-1)^{m-1} \cdot x^{2... подробнее

Показать сообщение отдельно
Psilon
Master of Orion
5769 / 4717 / 622
Регистрация: 10.07.2011
Сообщений: 14,195
Записей в блоге: 5
Завершенные тесты: 4
10.10.2012, 16:32     Перевод бинарного номера в 32/8 бит код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int GetIntFromBitArray(string s)
{
    int result = 0;
    while (s.length() < 32) //Если число имеет вид 1111, приводим к виду 000...0001111
        s = '0' + s;
    for(int i = 0; i < 32; i++)
    {
        if ((s[i] != '0') && (s[i] != '1')) return 0; //Если строка состоит не только из нулей и единиц, то выходим
        result <<=1; //Делаем побитовый сдвиг влево, чтобы уже записанные биты не трогать
        result += s[i] - '0'; 
/* Записываем 0 или 1 в зависимости от того, что у нас в строке. 
 * Вычитаем код нуля чтобы в итоге получился 0 физически 
 * (т.к. если написать просто result += s[i], он будет складывать не сам ноль, 
 * а его код, в ascii-таблице это 48). 
 */
    }
    return result;
}
Попробуйте на бумажке это повторить. Если конечно понимаете, что такое побитовый сдвиг.
http://ru.wikipedia.org/wiki/%D0%9F%...B2%D0%B8%D0%B3
 
Текущее время: 20:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru