Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

Для перевода десятичного числа можно составить функцию в которой будут осуществлятся следующие действия:
Делите число на 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
Репутация: 34

icq: 9676693
По умолчанию

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

например
Код:
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 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с роботой с байтами ZhekON Паскаль 2 23.05.2008 16:02
Как работать c USB? Araver Общие вопросы Delphi 4 05.11.2007 19: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 22:07


16:33.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.