Берём отдельно целую часть и делаем следующее:
1) делим на два с остатком (например, уголком)
2) если результат деления не равен нулю, то повторяем, начиная с пункта 1
3) записываем все полученные остатки вместе, начиная с последнего (он равен единице, если целая часть была не ноль) -таким образом мы составили целую часть двоичного числа
Примечание: обычно последнее деление не пишут (т.е. не делят до нуля, а останавливаются на единице, и с этой единицы начинают составлять ответ, а после неё уже идут все остатки)
Ставим после полученной целой части десятичную запятую.
Берём отдельно дробную часть и делаем следующее:
1) умножаем на два
2) у полученной дроби забираем целую часть (ноль или единицу), и записываем её в строчку после полученной выше целой части
3) если оставшаяся дробная часть не равна нулю, то повторяем начиная опять с пункта 1
Примечание: при переводе дробной части могут получаться бесконечные периодические дроби, поэтому повторение алгоритма перевода дробной части имеет смысл делать либо до получения нужной точности (количества знаков после запятой), либо, если нужно- до выявления периода дроби.
После записанной дроби, чтобы обозначить что она в двоичной системе, дописываем чуть ниже двойку (размером меньше основных цифр).
Пример перевода целой и дробной части числа 8,125 смотри на приложенных картинках.
#include <iostream>
using namespace std;
int main (void)
{
int year;
bool init = false;
cout << "Input year [1 <= year <= 2200]: ";
do {
cin >> year;
if ((year < 1) || (year > 2200))
cout << "ERROR" << endl << "Try again: ";
else init = true;
} while (init == false);
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
cout << "LEAP";
else cout << "NORMAL";
return 0;
}
//Так как сдвиги не сохранились при добавлении ответа, прилагаю .cpp файл
ответ: 1
Разберём формулу =$E$3+D2 по слагаемым:
В формуле знаком $ указана абсолютная адресация. Если $ стоит перед №-м столбца, то № этото столбца при копировании в другую ячейку не будет меняться, если перед №-м строки, то не будет меняться № строки. Первая часть формулы останется без изменений ($E$3). Второй и четвёртый варианты отбрасываются.
Как видно, изменилось только 2-ое слагаемое, т.к. перед его строкой и столбцом не было знака $. Мы скопировали формулу, поместив ее в ячейку, № столбца которой меньше на 1 (был столбец С, стал B) и № строки которой меньше на 1 (была строка 2, стала 1). Поэтому мы изменили 2-ое слагаемое с D2 на C1. Наш вариант 1.
целую часть делим на 2 записывая остатки с право налево,а дробную часть умножают на два последовательных пока не появится целая часть.