Форум: "Начинающим";
Текущий архив: 2011.05.22;
Скачать: [xml.tar.bz2];
ВнизБиты Найти похожие ветки
← →
AlexIdx (2011-02-05 14:49) [0]Есть переменная типа word. Мне нужно взять из нее N бит из позиции X и сохранить в другую переменную.
var
s: word;
e: byte;
begin
s:= $1234;
e:= {допустим, 3 бита начиная со 2-го бита};
end;
Как это сделать?
← →
Плохиш © (2011-02-05 14:51) [1]И настало время сдачи лабораторных и зачëтов...
← →
MBo © (2011-02-05 15:36) [2]А какие побитовые операции тебе известны?
← →
XOR (2011-02-05 16:00) [3]допустим, 3 бита начиная со 2-го бита
e := s and $1C; // 1Ch = 00011100b
← →
KilkennyCat © (2011-02-05 19:39) [4]
> какие побитовые операции
копать, не копать.
> XOR (05.02.11 16:00) [3]
не совсем так, в тз сказано "взять" а не "скопировать". имхо, подразумевается вырезание.
← →
Amoeba_ (2011-02-05 20:01) [5]http://www.delphikingdom.com/asp/viewitem.asp?catalogid=838
← →
Anatoly Podgoretsky © (2011-02-05 20:22) [6]Чтобы получилось 00000h
← →
Sha © (2011-02-05 22:41) [7]> Anatoly Podgoretsky © (05.02.11 20:22) [6]
от байта останется 00000b
← →
Anatoly Podgoretsky © (2011-02-05 23:25) [8]> Sha (05.02.2011 22:41:07) [7]
Боже мой, как я лоханулся.
← →
KilkennyCat © (2011-02-05 23:32) [9]эх вы, мастера. ну ничего, слава богу, есть настоящий последний программист - это я. и сегодня же я напишу офигительнейшую программу по кат-копи-пасте битов из байта в байт. с возможностью пакетной обработки нескольких байтов. с русским интерфейсом, риббон-стиль, наличие дотнет 4 и мхмл последней версии обязательны.
оплатившие сегодня получат скидку.
← →
Anatoly Podgoretsky © (2011-02-05 23:34) [10]> KilkennyCat (05.02.2011 23:32:09) [9]
Нужен dotbit 4
← →
XOR (2011-02-06 11:07) [11]>>KilkennyCat © (05.02.11 19:39) [4] не совсем так, в тз сказано "взять" а не "скопировать". имхо, подразумевается вырезание.
А оставшиеся биты переместить в Битовую Корзину, с целью последующего повторного использования или утилизации...
← →
brother © (2011-02-08 06:33) [12]> по кат-копи-пасте битов из байта в байт. с возможностью
> пакетной обработки нескольких байтов. с русским интерфейсом,
> риббон-стиль, наличие дотнет 4 и мхмл последней версии
> обязательны.
и окно: Автор (О программе) - ОБЯЗАТЕЛЬНО! Иначе не ё)
← →
Студент (2011-02-08 20:50) [13]Да какие зачёты? Начало семестра вообще-то...
Мне как-то похожее требовалось... Делал наспех, но вроде фурычит:Function BitsFromWord(W: Word; First, Last: Integer): Byte;
Var i: Integer;
Begin
Result:=0;
For i:=Last DownTo First Do
Begin
Result:=Result Shl 1;
If (Value And (1 Shl i)>0 Then
Result:=Result+1;
End;
End;
З.Ы. KilkennyCat, вы там про кнопку "донейт" не забудьте...) Бальшую такую, во весь экран, поверх всех окон, не убирающуюся...)))
← →
Студент (2011-02-08 20:55) [14]If (Value And (1 Shl i))>0 Then * // скобку забыл
← →
Servy © (2011-02-09 00:47) [15]
> Делал наспех, но вроде фурычит
Value не определено, вероятно вы имели в виду W. Еще загадочно, почему результат Byte, если "берут" из Word, я ведь могу и 9 битов захотеть, а то и все 16.
А проблема этой ветки в том, что автор давно пропал и решение ему неинтересно. Иначе, он бы давно уточнил, что он имел в виду и какой результат он ожидает в e.
← →
Студент (2011-02-09 01:14) [16]ам... Ещё одна опечатка...(
Там параметр функции Value называется, а не W... Я просто это сейчас с тетради перепечатывал...)... BitsFromWord(Value: Word; ...
> Еще загадочно, почему результат Byte, если "берут" из Word,
> я ведь могу и 9 битов захотеть, а то и все 16.
Мне там нужно было одну переменную типа Word "разрезать" на 3 переменные типа Byte... Просто смотрю кому-то похожее понадобилось, думал помочь...)
← →
Германн © (2011-02-09 02:47) [17]
> Я просто это сейчас с тетради перепечатывал
С чьей тетради? Вот в чём главный вопрос для студента! :)
← →
Dennis I. Komarov © (2011-02-09 11:51) [18]
> Студент (08.02.11 20:50) [13]
M. se connaît en déformations
e := s shl a shr b
параметры a и b вычислить...
← →
clickmaker © (2011-02-09 11:54) [19]> Мне там нужно было одну переменную типа Word "разрезать"
> на 3 переменные типа Byte
16 / 3 = 8 ?
← →
Amoeba_ (2011-02-09 12:09) [20]
> Есть переменная типа word. Мне нужно взять из нее N бит
> из позиции X и сохранить в другую переменную.
Хорошо бы было, если автор все-таки озвучил для решения какой собственно задачи ему нужна такая манипуляция.
← →
RWolf © (2011-02-09 17:53) [22]
> (09.02.11 17:37) [21]
Решение shl+shr автору функции показалось слишком простым, видимо.
← →
McSimm © (2011-02-09 18:50) [25]ну вы даете (на правах теста)
← →
Студент (2011-02-10 16:13) [26]
> С чьей тетради?
ам... Со своей... С чьей же ещё-то?
Остальные у нас без тетрадей ходють... :)
> clickmaker © (09.02.11 11:54) [19]
Не понял про что вы...
> Dennis I. Komarov © (09.02.11 11:51) [18]
хм! Спасибо...)
← →
Dennis I. Komarov © (2011-02-10 17:03) [27]
> хм! Спасибо...)
Да не за что...
Исходя из того что в коде был использован shl, shr должен быть так же знаком, а так как сия задача тривиальна, я делаю вывод, что Вы не понимаете как работают эти операторы, отсюда это код не Ваш и [13] = false
← →
Студент (2011-02-10 17:50) [28]Переделан мною из функции IntToBin... :)
Как работают shl/shr понимаю, просто не додумался так сделать...(
Говорю ж - наспех делал...((
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.05.22;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.003 c