Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > двоичные числа


Автор: Zorak 14.11.2009, 15:26
Доброго времени суток. Вопрос следующий: как мне в массив записать двоичные числа?.. чтобы потом их например можно было умножать?, тоесть делать какие нибудь операции)... Тоесть, есть число 01101100 и 00011011, как мне записать их в массив a[0] & a[1] и переумножить их потом.
Спасибо

Автор: Beltar 15.11.2009, 00:04
В смысле строковые представления?

Автор: Zorak 15.11.2009, 10:53
нет... есть массив из 8 ячеек и в каждой ячейке есть числа 01010101 и т п....мне нужно делать с ними арифметические операции (+ -  * /) но не как с целыми, а как с двоичными)

Автор: Beltar 15.11.2009, 12:52
Компьютер в двоичной системе работает, там и так в ячейках нули и единицы.
Или у тебя число что-то вроде:

TBin=array[0..7] of Byte; //Лучше ограниченный целый тип ввести.

И тебе надо сэмулировать арифметику?

Автор: Pitlord 15.11.2009, 13:33
Цитата(Zorak @  15.11.2009,  10:53 Найти цитируемый пост)
есть массив из 8 ячеек и в каждой ячейке есть числа 01010101

Так там именно числа или ASCII-коды символов "0" и "1"?

Автор: Zorak 15.11.2009, 21:17
Цитата(Pitlord @ 15.11.2009,  13:33)
Цитата(Zorak @  15.11.2009,  10:53 Найти цитируемый пост)
есть массив из 8 ячеек и в каждой ячейке есть числа 01010101

Так там именно числа или ASCII-коды символов "0" и "1"?

именно числа 0 и 1...

Добавлено через 2 минуты и 44 секунды
Цитата(Beltar @ 15.11.2009,  12:52)
Компьютер в двоичной системе работает, там и так в ячейках нули и единицы.
Или у тебя число что-то вроде:

TBin=array[0..7] of Byte; //Лучше ограниченный целый тип ввести.

И тебе надо сэмулировать арифметику?

нет, он так не работает.. если я запишу два числа например 001 и 101 и перемножу, то на выходе получу 101... потому что 101 умножит на 1... а результат нужен 001... так как по правилам мумножения двличных чисел 0*1=0; 0*0=0; 1*1=1....

Автор: Beltar 15.11.2009, 22:14
Так и говори сразу, что тебе логические операции надо.
В чем тогда вообще проблема? проходи по массиву и делай c[i]:=a[i] and b[i];

Автор: Zorak 16.11.2009, 11:14
Цитата(Beltar @ 15.11.2009,  22:14)
Так и говори сразу, что тебе логические операции надо.
В чем тогда вообще проблема? проходи по массиву и делай c[i]:=a[i] and b[i];

Блин, точно, спасибо) Получилось....

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)