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

Необходимо вывести двоичное представление числа на экран. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Выводит какую то ересь http://www.cyberforum.ru/cpp-beginners/thread1097568.html
В общем начал выполнять свою лабораторную, задание которой было таковым: "В заданном предложении указать слово, в котором доля гласных(A, E, I, O)(a, e, i, o) максимальна. Предложение может иметь больше одной строки и заканчивается точкой" Прошу не осуждать что программа без функций. Пока делаю так потом переделаю... Пока что я пробую вывести на экран таблицу(матрицу) в которой будет...
C++ Инвертировать символы (разместить задом наперед) в указанной строке Напишите программу, которая 1. Вводит с клавиатуры число записей в массиве структур n -целое число. 2. Создает динамический массив структур типа: struct rec_{int i; char *cp;} из n элементов (записей). 3. В цикле заполняет массив структур следующими данными: i – порядковый номер записи, cp указывает на введенную с клавиатуры строку символов, которая сохраняется в динамическом массиве с... http://www.cyberforum.ru/cpp-beginners/thread1097565.html
C++ Задан файл из целых чисел со знаком, разделенных пробелом. Произвести чтение этих чисел в обратном порядке, не читая предыдущие.
Есть множество задач анализа данных, записанных в файле, которые можно решить за "линию", не обязательно, сохраняя данные в оперативную память, если бы они поступали "с конца". А прямой анализ занимал бы полином степени повыше. Читать файл с конца- это конечно утопия, но компьютер способен на многое. Я нахожусь в поиске стандартных функций, которые реализовывали бы это, возможно,...
C++ Не выполняет ввод
#include <iostream>; #include <cmath>; #include <vector>; #include <string>; #include <algorithm> #include <windows.h> using namespace ::std; void main () {
C++ Составить рекурсивную процедуру нахождения максимального элемента в массиве http://www.cyberforum.ru/cpp-beginners/thread1097542.html
3. Составить рекурсивную процедуру нахождения максимального элемента в массиве.
C++ Вычислить рекурсивно полином Лежандра порядке n 2. Вычислить рекурсивно полином Лежандра порядке n: P0(x) = 1; P1(x) = x; Pn(x)=((2n-1)Pn-1(x) - (n-1)Pn-2(x)/n подробнее

Показать сообщение отдельно
Alex566
 Аватар для Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
17.02.2014, 23:50     Необходимо вывести двоичное представление числа на экран.
Хм. Ну давайте по очереди:
Функция принимает 2 аргумента: 1 - строка, в которую будет записан результат, 2 - число в любом из целочисленных форматов.
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
template<typename T>
void NumberAsBinary(char *_result, T _number)
{
    short int j = 0;
    if (_number > 0)//Если положительное
        for (T i = _number; i != 0; i /= 2, j++)
            _result[j] = ((_number^i) > _number) ? '0' : '1';
    else//Если отрицательное
    {
        _number *= -1;
        for (T i = _number; i != 0; i /= 2, j++)
            _result[j] = ((_number^i) > _number) ? '1' : '0';
        if (_result[j-1] == '1')//Прибавление 1
        {
            for (int i = j-1; i != -1; i--)
            {
                if (_result[i] == '1')
                    _result[i] = '0';
                else
                {
                    _result[i] = '1';
                    break;
                }
            }
        }
        else
            _result[j - 1] = '1';
    }
    _result[j] = 0;
}
Например из функции мейн вызывает:
C++
1
2
3
    char res[15];
    long dec = -56;
    NumberAsBinary(res, dec);
И после выполнения функции в строку res будет записано двоичное представление числа dec.
 
Текущее время: 03:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru