В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
angelinaosadchy
angelinaosadchy
31.01.2023 17:47 •  Информатика

Какая информация указывает на цвет объекта?

Показать ответ
Ответ:
данил1956
данил1956
17.01.2023 14:54
1)  Один байт = 8 бит, максимальное число 2^8 - 1 = 255, если числа без знака.  Для знаковых чисел старший бит отводится под знак числа, следовательно, минимальное число = - 2^7 - 1
 = - 127,  максимальное число = + 127
2)  Число 1607, ячейка двухбайтовая, один бит под знак, следовательно, под число отводится 15 бит,  в двоичном представлении 1607(10) = 11001000111(2), дополняем до 16 бит, старший бит - знаковый - нулевой, так как число положительное
= 0000011001000111(2) - это двоичное представление в двухбайтовой ячейке, чтобы получить шестнадцатиричное представление, разбиваем число справа - налево по 4 бита
0000  0110  0100  0111  и записываем в шестнадцатиричном виде 
0111(2) = 7(16)   0100(2) = 4(16)   0110(2) =6(16)   0000(2) = 0(16)
1607(16) = 0647(16) или без старшего не значащего нуля  = 647(16)
3) для получения дополнительного кода числа, находят обратное число, или инверсию числа,
для этого каждый бит числа изменяют на противоположный, 1 на 0, 0 на 1
105(10) = 1101001(2) - это и есть дополнительный код числа - 105, т.е. дополнительным кодом
числа (- а)   будет число а.
Найдем дополнительный код в однобайтовой ячейке числа 105(10) = 01101001(2),
а) находим обратное  01101001(2)  ->(обратное) ->10010110(2)
б) дополнительный код-> обратный код + 1 ->(дополнительный)->10010111(2), а это число - 105
потому, что отрицательные числа представляются в дополнительном коде.
Если для числа - 105 найти дополнительный код, то получим число 105
10010111(2)->(дополнительный)->01101000+1->01101001 = 69(16) = 16*6+9 = 96+9 = 105
0,0(0 оценок)
Ответ:
vlada041104
vlada041104
20.04.2022 03:30
Visual Studio 2015
Код Visual C++, Win32, Консоль:

#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <random>
#include <time.h>
#include <Windows.h>

using namespace std;

char table[3][3];
char nam1[30];
char nam2[30];
bool xod;

bool input(int n)
{
    if (n<1 || n>9)
        return false;
    int i, j;

    if (n % 3 == 0)
    {
        i = n / 3 - 1;
        j = 2;
    }
    else
    {
        j = n % 3 - 1;
        i = n / 3;
    }
    if (table[i][j] == 'O' || table[i][j] == 'X')
        return false;

    if (xod)
    {
        table[i][j] = 'X';
        xod = false;
    }
    else { table[i][j] = 'O'; xod = true; }
    return true;
}

bool win()
{
    for (int i(0); i < 3; i++)
    {
        if (table[i][0] == table[i][1] && table[i][1] == table[i][2]) return true;
    }
    for (int i(0); i < 3; i++)
    {
        if (table[0][i] == table[1][i] && table[1][i] == table[2][i]) return true;
    }
    if (table[0][0] == table[1][1] && table[1][1] == table[2][2]
        || table[0][2] == table[1][1] && table[1][1] == table[2][0]) return true;
    return false;
}

void ПерерисовкаИгровогоПоля()
{
    system("cls");
    if (xod)
        cout << "\tХодит X " << nam1 << " : \n\n";
    else cout << "\tХодит 0 " << nam2 << " : \n\n";
    for (int i(2); i >= 0; i--)
    {
        cout << "\t";
        for (int j(0); j < 3; j++)
        {
            cout << "| " << table[i][j] << ' ';
        }
        cout << '|';
        cout << endl;
    }
}

int main()
{

    setlocale(LC_ALL, "rus");
    do
    {
        system("cls");
        for (int i(0); i < 3; i++)
        {
            for (int j(0); j < 3; j++)
            {
                table[i][j] = char('1' + i * 3 + j);
            }
        }
        cout << "\t\t*** крестики нолики ***\n\n";
        cout << "\tПравила:\n";
        cout << "\tиграют два игрока на поле 3х3\n";
        cout << "\tпобеждает тот кто составит выигрышную комбинацию\n";

        cout << "\n\tДля хода нажмите на цифру ячейки поля\n";
        cout << "\tВведите Имя 1-го. игрока за X: ", cin.getline(nam1, 30);
        cout << "\tВведите Имя 2-го. игрока за 0: ", cin.getline(nam2, 30);
        int i = 0;
        bool L = false, Result;
        do
        {
            ПерерисовкаИгровогоПоля();
            if (L) cout << "Вы вели неверные данные!";
            L = !input((_getch() - '0'));
            Result = win();
        }
        while (!Result && i < 9);
        //system("cls");
        ПерерисовкаИгровогоПоля();
        if (Result)
        {
            if (xod)
                cout << "\n\n\tПобедил 0  " << nam2 << endl;
            else cout << "\n\n\tПобедил X  " << nam1 << endl;
        }
        else cout << "\tНичия!! \n";
       
        cout << "\tВыберите действие: " << "\n\n";
        cout << "\t1 - Пройти задачу повторно " << "\n\n";
        cout << "\t( Нажмите: 0 Для завершения программы. )" << "\n";

    } while (_getch() == '1');

    cout << "\n\n\tПроверка задания закончена " << endl << endl;
    _getch();
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота