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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2008, 16:49   #1
Cube
Новичок
Джуниор
 
Регистрация: 13.10.2008
Сообщений: 1
По умолчанию Мне интересна как можно работать с байтами. (think)

У меня есть пару учебников, но я не смог в них найти как работать с байтами. В интернете что то тоже не очень. Мне интересна как можно работать с байтами.
Вот есть переменная b, тип у неё байт. Как я могу вывести на экран её двоичный код? Просто writeln(b); выводит десятичное значение. Ешё хотелось бы узнать как можно считывать конкретный бит и потом его менять. Возможно это удобно делать записав двоичный код в массив?
Cube вне форума Ответить с цитированием
Старый 13.10.2008, 18:07   #2
ReM
Пользователь
 
Регистрация: 22.09.2008
Сообщений: 27
По умолчанию

Для перевода десятичного числа можно составить функцию в которой будут осуществлятся следующие действия:
Делите число на 2, получаете целую часть и остаток (0 или 1)
Например 10 / 2 = 5 и 0
Записваете остаток, делите целую часть снова на 2 и опять выписываете остаток
5 / 2 = 2 и 1
и .т.д. пока целая часть больше нуля
2 / 2 = 1 и 0
1 / 2 = 0 и 1
Выписываете все остатки в ряд - получаете число в 2ой системе:
1010

По поводу второго вопроса... ...как вариант можно попробывать и так.

ЗЫ: Все выше изложеное ИМХО... ...сам я только новичек, возможно кто нить предложет более рациональные способы.
ЗЫЫ: Вроде все
ReM вне форума Ответить с цитированием
Старый 14.10.2008, 11:42   #3
Nixond
Пользователь
 
Регистрация: 06.10.2008
Сообщений: 13
По умолчанию

Можно с помощью встроенного ассемблера..

например
Код:
Function SwapBytes(x: integer): integer;
{функция меняет местами байты в x}
begin
   asm
      mov ax, x;
      mov BYTE PTR @Result, ah;
      mov BYTE PTR @Result+1, al;
   end;
end;
Хотя я сам не спец в этой области...

Насчет смены битов:
в Паскале есть битовые операции (shr, shl, and, xor, or, not)

кстати, вот: http://www.programmersforum.ru/showthread.php?t=27561

Последний раз редактировалось Nixond; 14.10.2008 в 11:59.
Nixond вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с роботой с байтами ZhekON Паскаль, Turbo Pascal, PascalABC.NET 2 23.05.2008 16:02
Как работать c USB? Araver Общие вопросы Delphi 4 05.11.2007 18:41
Можно ли в Delphi работать с MySQL chingiz БД в Delphi 7 24.05.2007 23:06
Как работать с графикой? Yogurt Gamedev - cоздание игр: Unity, OpenGL, DirectX 8 29.04.2007 07:12
RichEdit. как можно вставлять картинку туда? как можно Скрол програмно вниз двигать? Svop Компоненты Delphi 7 28.11.2006 21:07