Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2016, 15:33   #1
garrygarry1
Заблокирован
 
Регистрация: 12.11.2016
Сообщений: 1
По умолчанию Помогите с битами разобраться

Дано

00110100 00110111 .... в конце 00111000

что надо сделать, чтобы получить (ниже) 1ый байт (известен), 2ой байт 1 из 3

1ый байт 00110101

2й байт
01001011
01001000
01001010

подскажите какой это сдвиг? или умножение, деление? Что за операция проведена с битами? Буду очень признателен за помощь. В битах плохо разбираюсь.. Помогите чайнику.

Известно еще, что в операции по изменению битов могло принимать участие 0001 или 3 :-) А могло и не принимать..
garrygarry1 вне форума Ответить с цитированием
Старый 13.11.2016, 06:28   #2
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

garrygarry1,
как называется учебник по которому вы занимаетесь? В твоём запутанном изложении ничего не понятно
Mikl___ вне форума Ответить с цитированием
Старый 13.11.2016, 07:31   #3
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Mikl___, ТС по-ходу сам придумал задачку.
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 13.11.2016, 07:47   #4
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

нет, ты его явно переоценил, но ход мыслей у преподавателя таков
  1. есть первый байт до преобразования и после
  2. есть второй байт, если ты догадался какое преобразование используется, тогда найди среди трех вариантов для второго байта правильный
  3. напиши программу для преобразования цепочки байтов
Если ТС соизволит назвать учебник, то мою теорию легко проверить. Но скорее всего будет
Цитата:
Сами мы не местные, сволочь препод ссылок на учебники никакие не дает, мучает нас бедных. Помогите люди добрые написать программу
всё как мы привыкли
P.S. я тебе там в личку писмецо бросил посмотри
Mikl___ вне форума Ответить с цитированием
Старый 13.11.2016, 08:58   #5
Ethereal2
Пользователь
 
Регистрация: 17.02.2013
Сообщений: 26
По умолчанию

Цитата:
Сообщение от garrygarry1 Посмотреть сообщение
Помогите чайнику.
Хер тебе тут кто поможет, пока ты не напишешь вопрос так, чтобы его можно было понять.
Цитата:
Сообщение от garrygarry1 Посмотреть сообщение
00110100 00110111 .... в конце 00111000
Это я так понял последовательность байт. Первый, второй ...
а "в конце" это какой ? Третий, восьмой, десятый, неизвестно какой ?
Ethereal2 вне форума Ответить с цитированием
Старый 13.11.2016, 09:02   #6
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

Привет, Ethereal и Мановар!
гляньте свои лички, я там писмецо бросил...

Последний раз редактировалось Mikl___; 13.11.2016 в 09:18.
Mikl___ вне форума Ответить с цитированием
Старый 13.11.2016, 09:22   #7
Ethereal2
Пользователь
 
Регистрация: 17.02.2013
Сообщений: 26
По умолчанию

З.ы. Если считать, что вот это последовательность в 3 байта
Цитата:
Сообщение от garrygarry1 Посмотреть сообщение
00110100 00110111 .... в конце 00111000
то тупо увеличение числа на единицу 26->27->28, да только самый правый бит в байте суть бит нечетного паритета. Да только с вопросом задачи это не согласуется никак. Ну чисто чтобы кинуть хоть какую-нибудь шизовую идею.
Ethereal2 вне форума Ответить с цитированием
Старый 13.11.2016, 09:32   #8
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

0011.0100 = 34h
0011.0111 = 37h
...
0011.1000 = 38h
но обрати внимание на
Цитата:
1ый байт 00110101 =3.5h
подходят инкремент, or 0.1h, xor 0.1h
к кандидатам на второй байт
Цитата:
0100.1011=4.Bh
0100.1000=4.8h
0100.1010=4.Ah
инкремент, or 0.1h, xor 0.1h не подходят

Последний раз редактировалось Mikl___; 13.11.2016 в 09:35.
Mikl___ вне форума Ответить с цитированием
Старый 13.11.2016, 10:13   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Просто умножением и сложением можно так:
00110100 = 52 00110111 = 53 --> 52*7-311=53
00110111 = 55 01001010 = 74 --> 55*7-311=74

ЗЫ с битовыми на ум ни чего не приходит
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 13.11.2016 в 10:17.
Аватар вне форума Ответить с цитированием
Старый 13.11.2016, 10:23   #10
garrygarry
Пользователь
 
Регистрация: 23.01.2014
Сообщений: 36
По умолчанию

Цитата:
Сообщение от Mikl___ Посмотреть сообщение
Привет, Ethereal и Мановар!
гляньте свои лички, я там писмецо бросил...
В личке нет ничего

Отпишите на почту пожалуйста garrysweaty@gmail.com
garrygarry вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с битами. Небожитель Общие вопросы C/C++ 7 23.05.2014 16:39
Работа с битами codermoder Общие вопросы C/C++ 2 18.11.2011 06:25
Операции с Битами Dartchuwak Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 24.03.2011 22:53
работа с битами Henpyxa Общие вопросы C/C++ 5 23.05.2010 12:09
Работа с битами kesha2008 Общие вопросы C/C++ 2 24.02.2009 12:05