dzo-dzo
?>

Перевести десятичные дроби 3, 5 (в десятой) и 47, 85 (в десятой) в двоичную, восьмеричную и шестнадцатеричную системы счисления с точностью до трех знаков после запятой.

Информатика

Ответы

nadlen76
3,5(10)=11,1(2)=3,4(8)=3,8(16) 47,85(10)=10,1111(2)=57,6663(8)=2f,d9999(16) , поставь лучшее решение
volchek01112240
Умножение числа на 2 в двоичной системе эквивалентно его сдвигу влево на один разряд. при этом старший разряд старшей тетрады должен перейти в новую, третью тетраду или он будет утерян. но по условию, после умножения число по-прежнему имеет два разряда, следовательно мы должны потерять старший разряд безболезненно, а это возможно только если он нулевой. тогда первоначальное число должно быть записано как а после удвоения его запись примет вид запишем сумму цифр исходного числа p1: теперь запишем сумму удвоенного числа p2: по условию эти две суммы равны и мы составляем уравнение: полученное уравнение решается на множестве двоичных чисел. поскольку исходное число двузначное, по крайней мере в старшем разряде оно содержит цифру, отличную от нуля. следовательно, b3 не может равняться нулю и остается только положить b3=1. тогда уравнение (1) примет следующий вид: учитывая, что каждый бит может принимать значения только 0 и 1, мы должны найти такие комбинации бит, которые дадут в сумме 7=4+2+1, потому что у нас в уравнении только такие коэффициенты. сгруппируем члены в (2): полученная система уравнений будет иметь 7 вариантов решений (вариант a2=a1=a0=0 исключается в силу необходимости наличия цифры в старшем разряде), которым в старшем разряде будут соответствовать цифры от 001(2) до 111(2) или от 1(10) до 7(10). ответ: 7 замечание: из (3) можно легко найти числа, которые соответствуют заданным условиям: 30, 45, 60, 75, 90, 105, 120 (все в десятичной системе счисления). в 16-ричной системе они запишутся как 1e, 2d, 3c, 4b, 5a, 69, 
o-pavlova-8635
#include < stdio.h> #include < stdlib.h>   int compare(void *a, void *b) {    int va = *(int*)a;     int vb = *(int*)b;     if(va == vb) return 0;     return va < vb ? -1 : 1; }  int max_index(void *base, int n, int width, int (*compare)(void *a, void *b)) {    int i, j = 0;     char max[width];     memcpy(max, base, width);     for(i = 1; i < n; i++) {        if( compare(base+i*width, max) > 0)            {                memcpy(max, base+i*width, width);                 j = i;             }    }    return j; }  int main() {    int n;     scanf("%d", & n);     int a[n];     for(int i = 0; i < n; i++)        scanf("%d", & a[i]);     printf("%d\n", a[max_index(a, n, sizeof(int), compare)]); }

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Перевести десятичные дроби 3, 5 (в десятой) и 47, 85 (в десятой) в двоичную, восьмеричную и шестнадцатеричную системы счисления с точностью до трех знаков после запятой.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Кононова-БЕСКРОВНАЯ
vallzh8328
vodoleytatyana
kate281078
Меладзе_Владимир1695
Advantage9111
yulyaderesh
Larisa-0888716
Юрий197
Yuliya_Viktoriya316
nikomuneskazhu60
Олеся
manyugina1
nyuraborova89
impuls20125948