Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перевёртывание бит в байте [D2005, XP]


Страницы:   1 2

Sergey ©   (2016-06-22 20:02:00) 

Здравствуйте. Дано: числа в десятеричной системе счисления
0, 1, 2, 3, 4, 5, 6, 7
По таблице перевода в двоичную систему счисления это будет:
0-000
1-001
2-010
3-011
4-100
5-101
6-110
7-111
Мне нужно как то передвинуть биты, чтобы получились мне нужные биты по такой таблице истинности:
0-000
1-100
2-010
3-110
4-001
5-101
6-011
7-111
Как бы вижу закономерность, нужно сдвигать биты вправо, операцией shr. Но она не работает правильно. Подскажите, есть ли встроенные функции. Или нужно переписывать ручками?


эээ   (2016-07-01 23:27:00) [1]

Удалено модератором


Kilkennycat   (2016-07-01 20:27:00) [2]


> Юрий Зотов ©   (01.07.16 10:27) [31]

ну, свет тоже то волна, то частица. так и файл, то с размером, то без :)
А собственно, результат работы компьютера вообще нечто непонятное.


SergP   (2016-07-01 19:39:00) [3]


> _Amoeba   (30.06.16 16:39) [6]
>
>
> например
> ror AX,8
> даст обратное расположение битов


Оно даст не обратное расположение битов, а обратное расположение байтов в слове.


ййй   (2016-07-01 12:53:00) [4]

Удалено модератором


qqq   (2016-07-01 10:55:00) [5]

Удалено модератором


Юрий Зотов   (2016-07-01 10:27:00) [6]

> KilkennyCat ©   (01.07.16 09:17) [24]

> как и размер у файла.


Костя, у файла нет размера.

1. Какой размер имеют предопределенные файлы SysIn, SysOut, SysErr, COM1? Никакого.

2. Фрагмент программы:
var F: file of byte; ...  AssignFile(F, 'C:\MyFile');
Какой размер теперь имеет имеет файл? Никакого.

Ты впал в то самое заблуждение: отождествляешь физический набор данных (у которого размер есть) и логический файл (у которого размера нет).

Да, их отождествление удобно, мы им пользуемся и к нему привыкли. Но от этого логический и физический наборы данных не становятся одним и тем же.


dfg   (2016-07-01 09:45:00) [7]

Удалено модератором


Юрий Зотов   (2016-07-01 09:41:00) [8]

Удалено модератором


dfg   (2016-07-01 09:35:00) [9]

Удалено модератором


Юрий Зотов   (2016-07-01 09:30:00) [10]

Удалено модератором


dfg   (2016-07-01 09:26:00) [11]

Удалено модератором


dfg   (2016-07-01 09:18:00) [12]

Удалено модератором


KilkennyCat   (2016-07-01 09:17:00) [13]

Удалено модератором


Юрий Зотов   (2016-07-01 09:03:00) [14]

Удалено модератором


KilkennyCat   (2016-07-01 08:56:00) [15]

Удалено модератором


dfg   (2016-07-01 08:43:00) [16]

Удалено модератором


Германн   (2016-07-01 00:33:00) [17]

Удалено модератором


Юрий Зотов   (2016-07-01 00:31:00) [18]

> Германн ©   (01.07.16 00:24) [18]

> Возражу. Минимальная обрабатываемая единица информации это
> всё-таки бит!
> А то что  некоторые процессоры об этом не знают - это их
> проблема. :)


Если процессор умеет обрабатывать отдельные биты, то это просто означает, что байт у этого процессора состоит из одного бита. Только и всего.


Германн   (2016-07-01 00:24:00) [19]


> Юрий Зотов ©   (30.06.16 21:53) [11]
>
> Байт - это просто минимально обрабатываемая единица информации.
>

Возражу. Минимальная обрабатываемая единица информации это всё-таки бит!
А то что  некоторые процессоры об этом не знают - это их проблема. :)


Германн   (2016-07-01 00:16:00) [20]


> я уже не говорю, что надо сначала найти трехбитные байты
> Rouse_ ©   (30.06.16 18:27) [8]
>
> Трехбитные байты? :) пожалуй украду себе в цитатник :)
>

А что их искать-то? Автор говорит что разбирается с протоколом MODBUS. В его конкретной реализации можно найти байты с любым количеством информационных бит (но не более 8). Более того в этих реализациях можно найти даже "байты с дырками"! :)
Т.е. на примере автора это будет
0-0х0хх0
1-0х0хх1
2-0х1хх0
3-0х1хх1
4-1х0хх0
5-1х0хх1
6-1х1хх0
7-1х1хх1
где х - это биты не несущие никакой информации и могут иметь любое значение (0/1).


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо