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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2010, 13:59   #11
Moneo
Пользователь
 
Регистрация: 21.01.2010
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Воу...
Но тут проблема - фраза "перевести введенные числа в двоичную систему" Скорее всего подразумевает перевод в строку из обычного числа, для отображения в двоичной системе. Проблема в том что после перевода в строку нельзя будет делать никаких сдвигов, ибо это уже будет не число...

т.е. тебя нагибают работать со строками?
а это можно обойти? например не выводить двоичные числа а сразу выполнить операцию и тогда уже вывести результат?
Moneo вне форума Ответить с цитированием
Старый 22.01.2010, 14:06   #12
начинающий кодер
только учусь!
Форумчанин
 
Аватар для начинающий кодер
 
Регистрация: 08.02.2009
Сообщений: 124
По умолчанию

Сложение. Столбиком поразрядно 0+0=0 0+1=1 1+1=10
Вычитание можно вывести из сложения.логические функции - для этого существуют таблицы. Запрос в поисковик булева алгебра.
«Я знаю, что ничего не знаю, но многие не знают и этого».
начинающий кодер вне форума Ответить с цитированием
Старый 22.01.2010, 14:06   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Обойти то можно, но само задание поставлено так что преподаватель может твой обход расценить как попытку саботажа его гордости.
Вообще пишут функцию, которая переводит число в строку в двоичном представлении, и уже ей скармливают результаты операций на числах - сдвиги, XORы и прочее. А перевод используют только для вывода - это не сложно.
Но если твой препод задумал именно "эмуляцию" побитовой работы - проще выпить яда. Так что ты бы уточнил у него, можно ли просто выводить в виде строки результаты целочисленных операций или нет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.01.2010, 14:10   #14
Moneo
Пользователь
 
Регистрация: 21.01.2010
Сообщений: 37
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Обойти то можно, но само задание поставлено так что преподаватель может твой обход расценить как попытку саботажа его гордости.
Вообще пишут функцию, которая переводит число в строку в двоичном представлении, и уже ей скармливают результаты операций на числах - сдвиги, XORы и прочее. А перевод используют только для вывода - это не сложно.
Но если твой препод задумал именно "эмуляцию" побитовой работы - проще выпить яда. Так что ты бы уточнил у него, можно ли просто выводить в виде строки результаты целочисленных операций или нет.
для него важно чтобы вышеописанные операции производились в двоичном виде и был вывод и ввод этих чисел, а все остальное он сказал можно делать как захочется. Я просто думал что через Edit'ы это можно как то просто решить.

Цитата:
Сообщение от Stilet Посмотреть сообщение
Вообще пишут функцию, которая переводит число в строку в двоичном представлении, и уже ей скармливают результаты операций на числах - сдвиги, XORы и прочее. А перевод используют только для вывода - это не сложно.
а в интернете возможно найти код такой функции? Сам не разберусь.

Последний раз редактировалось Moneo; 22.01.2010 в 14:15.
Moneo вне форума Ответить с цитированием
Старый 22.01.2010, 14:34   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
производились в двоичном виде
Видимо это все таки из разряда того о чем говорит начинающий кодер.
Не завидую с таким заданием.

В свое время когда нас доставали подобной гадостью я писал так:
Код:
  var i:integer;
  function q(a:integer):String;
  var i:integer;
  begin
   for i:=0 to 16 do begin
    if a and 1=0 then Result:='0'+Result else Result:='1'+Result;
    a:=a shr 1;
   end;
  end;

  function sdviglevo(s:string;i:integer):string;
  var k,e:integer;
  begin
   Result:=s;
   for k:=0 to i-1 do
    for e:=2 to length(s) do begin
     Result[e-1]:=Result[e];
     Result[e]:='0';
    end;
  end;
var s:string;
begin
 i:=54; s:=q(i);{Это перевод в двоичную}
 writeln(s);
 {Это сдвиг влево на 2 разряда}
 writeln(sdviglevo(s,2));
 readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.01.2010, 14:48   #16
Moneo
Пользователь
 
Регистрация: 21.01.2010
Сообщений: 37
По умолчанию

Это как я понял сдвиг, а с остальным как быть?
Moneo вне форума Ответить с цитированием
Старый 22.01.2010, 15:06   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну по аналогии.
Это все что у меня осталось от контрольных
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.01.2010, 15:10   #18
Moneo
Пользователь
 
Регистрация: 21.01.2010
Сообщений: 37
Радость

ладно попробую, спасибо.
Moneo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать класс для работы с двоичными числами в Visual C++ 2008 Maxs Фриланс 1 23.12.2009 21:07
Работа с числами в С++ Mashul'ka Помощь студентам 2 04.11.2009 14:36
Нужна помощь с двоичными числами Rusa85 Помощь студентам 3 03.02.2009 09:01
Работа с числами в delphi Зубоскалик Общие вопросы Delphi 12 28.11.2008 23:37
Работа с числами Drain Общие вопросы Delphi 10 11.02.2008 16:35