Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Вниз

Бинарные перестановки   Найти похожие ветки 

 
nof   (2004-10-03 23:02) [0]

Задача Есть 2 бинарных числа: например
1)11001000
2)  110010

Как организовать перестановку из старшего разряда 1 числа в младший 2-ого типа должно получится:
3)1001000 - убрали старший бит
4)1100101  - поставили младший


 
KilkennyCat ©   (2004-10-03 23:07) [1]

Logical (bitwise) operators


 
DrPass ©   (2004-10-03 23:13) [2]

a:=11001000 shr 7
b:=(110010 shl 1) or a


 
GuAV ©   (2004-10-03 23:45) [3]

Типа так

procedure Z(var A, B: Byte); // можно Word или DWord - что требуется.
asm
 RCL  [A], 1
 SHR  [A], 1
 RCL  [B], 1
end;


 
GuAV ©   (2004-10-03 23:52) [4]

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

 B:=(B shl 1) or ord((A and $80)<>0);
 A:=A and not $80;

если не Byte а Word или LongWord, то соотв маска $8000 или $80000000



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.044 c
3-1095675680
serg_newone
2004-09-20 14:21
2004.10.17
Блокирование логина после троекратного неправильного ввода парол


1-1096885823
Skywalker
2004-10-04 14:30
2004.10.17
Как обойти "Circular unit reference"?


14-1096377918
Koala
2004-09-28 17:25
2004.10.17
Формат файла *.djvu


1-1096863829
Fedia
2004-10-04 08:23
2004.10.17
Вставка формулы суммы в Excel


8-1090659762
DarkAvenger
2004-07-24 13:02
2004.10.17
тег mp3 файла





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский