Перевести каждое число в двоичную систему - C (СИ)
Формулировка задачи:
Здарова народ,помогите плиз,нужно число пи которое здесь получается,перевести каждое число в двоичную систему,как это сделать,вот это наччало программы,а дальше я не знаю что делать?
#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
double pi, x;
pi=2.0*asin(1.0);
printf("%.20lf\n", pi);
return 0;
}Решение задачи: «Перевести каждое число в двоичную систему»
textual
Листинг программы
for(int i=7; i>=0; i--){
printf("%d", (x >> i) & 1);
}
Объяснение кода листинга программы
В данном коде выполняется преобразование числа в двоичную систему счисления.
- Переменная
iинициализируется значением 7, затем в цикле она уменьшается на единицу до тех пор, пока не достигнет нуля. Таким образом, в цикле будет выполнено 8 итераций. - В каждой итерации выполняется следующая операция: (x >> i) & 1.
x- это переменная, значение которой нужно преобразовать в двоичную систему.i- это текущее значение переменной, которая уменьшается на единицу на каждой итерации.- Результат операции (x >> i) равен значению переменной
x, сдвинутому вправо наiпозиций. Сдвиг вправо наiпозиций эквивалентен делениюxна 2 в степениi. - Результат операции & 1 равен остатку от деления
xна 2 в степениi. Это либо 0, если остаток от деления равен 0, либо 1, если остаток от деления равен 1. - Значение этой операции, обернутое в кавычки и переданное функции printf, выводится на экран.
Таким образом, на каждой итерации цикла на экран выводится один бит числа
xв двоичной системе счисления, начиная с самого старшего разряда. В результате, числоxвыводится на экран в двоичной форме.