online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
/****************************************************************************** Напишите программу, которая просит пользователя ввести число от 0 до 255. Выведите его как 8-битовое бинарное число (формы #### ####). Не используйте побитовые операторы. Подсказка 1: Воспользуйтесь способом № 2. Предполагается, что наименьшее число для сравнения — 128. Подсказка 2: Напишите функцию для проверки входных чисел, являются ли они больше чисел умноженных на 2. Если это так, то выводится ‘1’ и возвращается результат (исходное число минус число для сравнения). *******************************************************************************/ #include <iostream> using namespace std; int bit1=0, bit2=0, bit3=0, bit4=0, bit5=0, bit6=0, bit7=0, bit8=0; // объявляем глобальные переменные, соответствующие каждому отдельному биту в вычисляемом значении и присваиваем по умолчанюю нули //**************************************************** // ФУНКЦИЯ ДЛЯ ПОЛУЧЕНИЯ ЦЕЛОГО ЧИСЛА ОТ ПОЛЬЗОВАТЕЛЯ* //**************************************************** int getNumber() { int numberFunc; // вводим переменную, которой присвоим значение от пользователя cout << "Введите пожалуйста целое число от 0 до 255\n"; cin >> numberFunc; // получаем целое число от пользователя return numberFunc; // возвращаем число инициатору } //**************************************************** //********************************************************************************** // ФУНКЦИЯ ДЛЯ ПРОВЕРКИ ЦЕЛОГО ЧИСЛА, ЯВЛЯЕТСЯ ЛИ ОНО БОЛЬШЕ ЧИСЕЛ УМНОЖЕННЫХ НА 2 * //********************************************************************************** void testNumber(int numberFuncTestNumber) { if (numberFuncTestNumber >= 128) // на каждом этапе сравниваем текущее значение с 2*n . Если значение меньше текущего 2*n, то просто переходим к следующему разряду а значение bit останется равно 0 { bit1 = 1; // если текущее значение больше или равно текущему 2*n то переменной соответствующего разряда присваиваем 1 numberFuncTestNumber = numberFuncTestNumber - 128; // из текущего значения вычитаем текущее 2*n } if (numberFuncTestNumber >= 64) { bit2 = 1; numberFuncTestNumber = numberFuncTestNumber - 64; } if (numberFuncTestNumber >= 32) { bit3 = 1; numberFuncTestNumber = numberFuncTestNumber - 32; } if (numberFuncTestNumber >= 16) { bit4 = 1; numberFuncTestNumber = numberFuncTestNumber - 16; } if (numberFuncTestNumber >= 8) { bit5 = 1; numberFuncTestNumber = numberFuncTestNumber - 8; } if (numberFuncTestNumber >= 4) { bit6 = 1; numberFuncTestNumber = numberFuncTestNumber - 4; } if (numberFuncTestNumber >= 2) { bit7 = 1; numberFuncTestNumber = numberFuncTestNumber - 2; } if (numberFuncTestNumber >= 1) { bit8 = 1; } } //**************************************************** int main() { setlocale(LC_ALL, "rus"); int number = getNumber(); // получаем значение от пользователя if (number >=256 || number < 0) // проверяем корректность введенного числа { cout << "введенное число не удовлетворяет начальным условиям\n"; return 0; } else { testNumber (number); cout << "Число " << number << " в двоичной системе будет " << bit1 << bit2 << bit3 << bit4 << " " << bit5 << bit6 << bit7 << bit8; // выводим полученные значения } return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue