В любом случае,спасибо огромное)))shapeshifter писал(а):Не очень понял, о чем речь. Я в маткаде не силен. Были лабы курсе эдак на первом, но я в упор не помню, что там к чему ) С математикой еще в прошлом семестре копался, так что в ней могу что-нить подсказать, а так - соре.Rockwill писал(а):чет в маткаде ничего не получаеццо.....
а как делать булево равенство(кажется оно так называется "^") с числами в двоичном коде??.....я пишу число в массиве,но он мне сравнивает массив с массивом и выдает один ответ..0 или 1.
Вопрос по программированию
Модератор: chinaski
- Senior Lupasin
- Ветеран
- Сообщения: 1589
- Зарегистрирован: Сб ноя 17, 2007 3:24 pm
Устанавливаешь флаг в единицу.
Сравниваешь число с 2 в 31 степени.
Если больше, записываешь флаг в 31-ю позицию, инвертируешь его и отнимаешь от числа 2 в 31 степени.
Если меньше, записываешь в 31-ю позицию инвертированный флаг, не инвертируешь его и не отнимаешь 2 в 31 степени.
Повторяешь для 30, 29, ..., 1, 0.
Сравниваешь число с 2 в 31 степени.
Если больше, записываешь флаг в 31-ю позицию, инвертируешь его и отнимаешь от числа 2 в 31 степени.
Если меньше, записываешь в 31-ю позицию инвертированный флаг, не инвертируешь его и не отнимаешь 2 в 31 степени.
Повторяешь для 30, 29, ..., 1, 0.
vk.com/staygreentailed
что за флаги?Senior Lupasin писал(а):Устанавливаешь флаг в единицу.
Сравниваешь число с 2 в 31 степени.
Если больше, записываешь флаг в 31-ю позицию, инвертируешь его и отнимаешь от числа 2 в 31 степени.
Если меньше, записываешь в 31-ю позицию инвертированный флаг, не инвертируешь его и не отнимаешь 2 в 31 степени.
Повторяешь для 30, 29, ..., 1, 0.
- Senior Lupasin
- Ветеран
- Сообщения: 1589
- Зарегистрирован: Сб ноя 17, 2007 3:24 pm
- shapeshifter
- Завсегдатай
- Сообщения: 658
- Зарегистрирован: Чт янв 10, 2008 5:35 pm
- Откуда: mnsk
- Senior Lupasin
- Ветеран
- Сообщения: 1589
- Зарегистрирован: Сб ноя 17, 2007 3:24 pm
Плохо понимал.
Ладно, паскаль моего детства.
begin
A:=1;
for I:=31 downto 0 do
begin
if N>=DegreesOfTheDvoika then
begin
A:=InverseMatrix [A];
Dec (N, DegreesOfTheDvoika )
end;
S :=InverseMatrix [A]
end
end
Ладно, паскаль моего детства.
begin
A:=1;
for I:=31 downto 0 do
begin
if N>=DegreesOfTheDvoika then
begin
A:=InverseMatrix [A];
Dec (N, DegreesOfTheDvoika )
end;
S :=InverseMatrix [A]
end
end
Последний раз редактировалось Senior Lupasin Пт окт 09, 2009 11:39 am, всего редактировалось 2 раза.
vk.com/staygreentailed
- shapeshifter
- Завсегдатай
- Сообщения: 658
- Зарегистрирован: Чт янв 10, 2008 5:35 pm
- Откуда: mnsk
- Senior Lupasin
- Ветеран
- Сообщения: 1589
- Зарегистрирован: Сб ноя 17, 2007 3:24 pm
- shapeshifter
- Завсегдатай
- Сообщения: 658
- Зарегистрирован: Чт янв 10, 2008 5:35 pm
- Откуда: mnsk
- Senior Lupasin
- Ветеран
- Сообщения: 1589
- Зарегистрирован: Сб ноя 17, 2007 3:24 pm
Переводим 1000 в двоичную систему (пока простую, не код Грея).
1000>512
B=10.0000.0000
1000:=1000-512=488
488>256
B=11.0000.0000
488:=488-256=232
232>128
B=11.1000.0000
232:=232-128=104
104>64
B=11.1100.0000
104:=104-64=40
40>32
B=11.1110.0000
40:=40-32=8
8<16
B=11.1110.0000
NOP
8>=8
B=11.1110.1000
8:=8-8=0
0<4
0<2
0<1
B=11.1110.1000
1000>512
B=10.0000.0000
1000:=1000-512=488
488>256
B=11.0000.0000
488:=488-256=232
232>128
B=11.1000.0000
232:=232-128=104
104>64
B=11.1100.0000
104:=104-64=40
40>32
B=11.1110.0000
40:=40-32=8
8<16
B=11.1110.0000
NOP
8>=8
B=11.1110.1000
8:=8-8=0
0<4
0<2
0<1
B=11.1110.1000
vk.com/staygreentailed
- Senior Lupasin
- Ветеран
- Сообщения: 1589
- Зарегистрирован: Сб ноя 17, 2007 3:24 pm
- shapeshifter
- Завсегдатай
- Сообщения: 658
- Зарегистрирован: Чт янв 10, 2008 5:35 pm
- Откуда: mnsk
- Senior Lupasin
- Ветеран
- Сообщения: 1589
- Зарегистрирован: Сб ноя 17, 2007 3:24 pm
- shapeshifter
- Завсегдатай
- Сообщения: 658
- Зарегистрирован: Чт янв 10, 2008 5:35 pm
- Откуда: mnsk
