GithubHelp home page GithubHelp logo

binary-arithmetic-jkjkkjk's Introduction

Самостоятельная работа по двоичной арифметике

Для выполнения задания необходимо открыть этот файл в codespace и писать все заметки, решения и ответы прямо здесь. В каждом задании отведено место под заметки и ответ. Пример задания приведен ниже:

Пример задания

Вычислите x:

x = 12 + 95*2

место для заметок

95*2 = 190
12+190 = 202

Ответ:

x = 202

После выполнения работы не забудьте сохранить, зафиксировать (commit) и синхронизировать (push) изменения!


Задание 0

Записать свою дату рождения в формате dd-mm-yyyy и определить особые числа для своего варианта следующим образом:

N = ddmmyyyy

Например у меня (Ярмолинский А.М.) др 8 сен 2001, значит N = 08092001.

Ответ:

N = xxxxxxxx

Задание 1

Перевести число N в формат uint32_t (беззнаковое 32-битное целое число) и представить в шестнадцатеричном виде.

место для заметок

место для заметок

Ответ:

N = 0xXXXXXXXX

Задание 2

Вычислить:

NL = N << 3;
NR = N >> 2;

Считать NL и NR числами типа uint32_t.

Напоминание: << - логический сдвиг влево, >> - вправо

место для заметок

место для заметок

Ответ:

NL = 0xXXXXXXXX
NR = 0xXXXXXXXX

Задание 3

Система управления умным домом состоит из контроллера и восьми реле. Для управления реле в контроллере есть переменная типа uint8_t, каждый бит которой представляет состояние соответствующего реле:

S = abcdefgh
    ||||||||
    |||||||` реле 0
    ||||||`- реле 1
    |||||`-- реле 2
    ||||`--- реле 3
    |||`---- реле 4
    ||`----- реле 5
    |`------ реле 6
    `------- реле 7

Нулевое значение бита соответствует разомкнутому реле (реле выключено), единица - реле замкнуто (включено).

Определите маски для следующих операций над переменной состояния реле. Все реле, не упомянутые в строчке должны остаться неизменными:

S = S & Moff;    // выключить реле 1, 4 и 5, не трогая остальные
S = S | Mon;     // включить реле 2, 3, 6 и 7, не трогая остальные
S = S ^ Mtoggle; // переключить реле 0, 4 и 6, не трогая остальные

В ответе записать представление маски и в двоичном, и в шестнадцатеричном виде.

'&' - побитовое И, '|' - побитовое ИЛИ, '^' - побитовое ИСКЛЮЧАЮЩЕЕ ИЛИ

место для заметок

место для заметок

Ответ:

Moff    = 0bxxxxxxxx; // 0xXX
Mon     = 0bxxxxxxxx; // 0xXX
Mtoggle = 0bxxxxxxxx; // 0xXX

Задание 4

Используя ключ k = 0x18 зашифровать дату своего рождения, записанную в формате: 31-12-2023. Каждый символ считать закодированным по таблице ASCII.

В ответе написать строку из 10 символов, соответствующую зашифрованной дате.

место для заметок

место для заметок

Ответ:

xxxxxxxxxx

Задание 5

Представить число N в нормализованной форме в двоичной системе счисления.

Задание на сообразительность

Перевести число N в формат float (число с плавающей точкой единичной точности, 32 бита, стандарт IEEE 754) и представить в виде шестнадцатиричного числа (вида 0x89ABCDEF)

так число -17.25 будет представлено в виде:

-17.25 =
-10001.01 =
-1.000101 * 2^4 =>

1|1000001 1|0001010 00000000 00000000
| \       / \                       /
|  \     /   ` Мантисса ( Z-1 = .000101)
|   \   /
|    `-------- Экспонента ( p = 4 + 127 = 131 )
`- Знаковый бит

11000001 10001010 00000000 00000000
   C1       8A       00       00

-17.25 -> (float)C18A0000

место для заметок

место для заметок

Ответ:

Nnorm = xxxx * 2^xxx
Nfloat = (float)XXXXXXXX

binary-arithmetic-jkjkkjk's People

Contributors

github-classroom[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.