М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Sezimturatbeko
Sezimturatbeko
11.07.2021 22:27 •  Информатика

с информатикой!
Представь число -645↓10 (период снизу) в 2 байтовом формате ​


с информатикой!Представь число -645↓10 (период снизу) в 2 байтовом формате ​

👇
Открыть все ответы
Ответ:
алина3687
алина3687
11.07.2021
В однобайтовом формате (8 бит) можно хранить 2^8 = 256 значений- от нуля до 255.

Если там посчитать 0 - 1, то байт перейдёт к значению 255.
А если посчитать 255 + 1, то байт перейдёт к нулевому значению
(т.е. 255 + 1 = 0 ).
Поэтому, можно рассматривать 255 как минус единицу (ведь  -1 + 1 = 0 ).

Так же и для минус семнадцати:
256 - 17 = 239

Если к 239 прибавить 17, то получим ноль в байте, так как 256 там не бывает, произойдёт перенос единицы в следующий байт (либо в бит признака переноса), а в этом байте останутся нули во всех битах.

ответ: 239
4,6(22 оценок)
Ответ:
Studennmb1
Studennmb1
11.07.2021
Используя boost библиотеку можно было это сделать ещё проще (нужно заканчивать баловаться boost'ом, ато совсем мозги атрофируются :D). Если посидеть и подумать чуть дольше 5 минут, можно и это решение улучшить, но оставлю это Вам)

#include <vector>
#include <iostream>
#include <algorithm>
#include <iterator>
#include <unordered_map>
using namespace std;
unordered_map<int, size_t> umap;

void KeepDuplicates(vector<int>& v)
{
    vector<int> tmp(v);
    for (size_t i = 0; i < tmp.size(); ++i)
    {
        unordered_map<int, size_t>::iterator pos = umap.find(tmp[i]);
        if (pos->second != 2)
        {   
            auto it = remove(v.begin(), v.end(), pos->first);
            v.resize(it - v.begin());
        }
    }
}

int main()
{
    vector<int> arr = { 3, 2, 3, 6, 2, 7, 5, 6, 9, 2 };
    for (const auto& i : arr) ++umap[i];
    KeepDuplicates(arr);
    copy(arr.begin(), arr.end(), ostream_iterator<int>(cout, " "));
}
4,7(81 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ