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

Перевод из 2сс в 10сс - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Всё же может кто напишет блок схему? http://www.cyberforum.ru/cpp-beginners/thread323974.html
Удалить из s1, ... , sn все слова с нечетными порядковыми номерами и перевернуть все слова с четными номерами. Например, если n=21 и данная последовательность символов представляет собой...
C++ Написать программу нахождения наибольшего и наименьшего значения функции Написать программу нахождения наибольшего и наименьшего значения функции y=3x*x+x-4 на интервале c шагом 0.1!!! очень нужно пожалуйста помогите программисты!!! ЯЗЫК C++ Именуйте темы осмысленно!... http://www.cyberforum.ru/cpp-beginners/thread323969.html
Решение в VC++ C++
Для каждой введенной цифры (0 - 9) вывести соответствующее ей название на английском языке (0 - zero, 1 - one, 2 - two,... ). Решить задачу в VC++.
C++ В файл вывести седловые точки матрицы
Доброго времени суток. В input.txt лежат n(количество строк),m(количество столбцов) и элементы матрицы. В output.txt нужно вывести количество седловых точек. Седловой точкой этой матрицы назовем...
C++ не получается сделать задание с оператором -> http://www.cyberforum.ru/cpp-beginners/thread323950.html
//тема про оператор стрелка -> я так понимаю задание надо сделать с использованием этого оператора //напишите программу, в которой определен вектор указателей на строки. Организуйте //перебор...
C++ Вопрос связанный с экзаменом(строки,генератор случайных чисел,матрицы) ребят, нужна ваша помощь) 22.06.11 г, то бишь завтра, в 13-40 экзамен по программированию. Требуется решить 1 задачу на С++ и ответить на ряд вопросов. На вопросы то я отвечу, теория мне всегда... подробнее

Показать сообщение отдельно
grizlik78
Эксперт С++
1953 / 1446 / 115
Регистрация: 29.05.2011
Сообщений: 3,005
22.06.2011, 00:50
На самом деле не очень понятно, нужен перевод из двоичного текстового представления в машинное или в десятичное текстовое.
В принципе в машинное представление float двоичное число можно перевести оперируя исключительно битами, но вот несколько более универсальный вариант. Правда не слишком хорошо читаемый
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
#include <iostream>
 
using namespace std;
 
int main()
{
    string str;
    cout << "Input binary value: " << endl;
    cin >> str;
    float value = 0;
    char ch;
    int i = 0;
    // целая часть
    while ( (ch = str[i++]) == '0' || ch == '1' )
    {
        value *= 2;
        if (ch == '1')
            value += 1;
    }
    if (ch == '.')
    {
        // дробная часть
        float frac = 1.0f;
        while ( (ch = str[i++]) == '0' || ch == '1' )
        {
            frac /= 2;
            if ( ch == '1')
                value += frac;
        }
    }
    cout << endl << str << " -> " << value << endl;
    return 0;
}
Добавлено через 1 час 2 минуты
Блин, забыл проверять границу. Правда заголовки циклов мне всё меньше нравятся. С ASCIIZ-строками было бы компактнее (непосредственно алгоритм перевода), кто там что говорил, при их неэффективность?
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
#include <iostream>
 
using namespace std;
 
int main()
{
    string str;
    cout << "Input binary value: " << endl;
    cin >> str;
    float value = 0;
    size_t i = 0;
    // целая часть
    while ( i < str.length() && (str[i] == '0' || str[i] == '1' ))
    {
        value *= 2;
        if (str[i++] == '1')
            value += 1;
    }
    // дробная часть
    if (i < str.length() && str[i++] == '.')
    {
        float frac = 1.0f;
        while ( i < str.length() && (str[i] == '0' || str[i] == '1' ))
        {
            frac /= 2;
            if ( str[i++] == '1')
                value += frac;
        }
    }
    cout << endl << str << " -> " << value << endl;
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru