Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 586
от 07.07.2003, 09:50
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 3652 Отправлено ответов: 10712 Активность: 293.3 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
masquer Статус: Профессиональный Общий рейтинг: 137.05 [Подробней >>] |
Denis Статус: Начальный Общий рейтинг: 101.84 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 118.35 [Подробней >>] |
Tigran K. Kalaidjian Статус: Профессиональный Общий рейтинг: 120.9 URL: Методы оптимизации работы ПК [Подробней >>] |
baldr Статус: Профессиональный Общий рейтинг: 112.23 URL: Сайт об ОС DOS. Всем, кто любит эту ОС! [Подробней >>] |
Beeblebrox Статус: Профессиональный Общий рейтинг: 107.74 URL: Beeblebrox / TMA HomePage [Подробней >>] |
Алексей Статус: Начальный Общий рейтинг: 109.57 [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 152.13 URL: Программирование [Подробней >>] |
ASMодей Статус: Профессиональный Общий рейтинг: 113.8 [Подробней >>] |
Lynx Статус: Опытный Общий рейтинг: 121.04 Телефон: (8442) 750522 [Подробней >>] |
Евгений Иванов Статус: Начальный Общий рейтинг: 131.7 [Подробней >>] |
_vt Статус: Профессиональный Общий рейтинг: 122.9 [Подробней >>] |
Andrew Vext Статус: Опытный Общий рейтинг: 105.3 [Подробней >>] |
Dark_Lord Статус: Профессиональный Общий рейтинг: 112.27 [Подробней >>] |
Zedr0n Статус: Начальный Общий рейтинг: 107.83 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 3616. Доброе время суток, уважаемые эксперты. OS: Win32 (ядро NT) Вопрос: Как освободить фай... (ответов: 1)
Вопрос № 3617. Привет, эксперты! В прилагаемой ниже программе "выводится" первый элемент массива, "в... (ответов: 10)
Вопрос № 3618. Ты смотри... baldr удивил, конечно, удивил. И верно - было, такое было. Хотя, впрочем, вам на такие ... (ответов: 4)
Вопрос № 3619. Здравствуйте, уважаемые эксперты! Написал программу(в приложении). Должна переименовывать temp.txt в... (ответов: 3)
Вопрос № 3620. Вот именно. Давайте завязывайте ваш флейм, борцы за чистоту интернета. Были тут раньше такие. Дигит,... (ответов: 2)
Вопрос № 3621. Здравствуйте, Эксперты. Тут вот сразу куча вопросов: 1. Есть какая-н. функция, которая конвертит NT-... (ответов: 1)
Вопрос № 3622. Приветствую вас ЭксперТы. У меня есть вопрос. Недавно книжку читал заумную про компы. Вней одна из г... (ответов: 6)
Вопросов: 7, ответов: 27
Вопрос № 3616 |
Доброе время суток, уважаемые эксперты.
OS: Win32 (ядро NT)
Вопрос: Как освободить файл, если он занят другим приложением/пользователем? Сохранность данных в файле, не требуется (все равно убивать).
Вопрос отправлен: 02.07.2003, 15:23
Отправитель: Gibbel
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Здравствуйте, Gibbel!
Только через драйвер. Посмотри на sysinternals программу handle.exe, у нее в ресурсах драйвера сидят, которые она запускает и перечисляет владельцев файлов.
Ответ отправлен: 02.07.2003, 17:54
Отправитель: masquer
Вопрос № 3617 |
Привет, эксперты!
В прилагаемой ниже программе "выводится" первый элемент массива, "выводится" - в кавычках, так как он криво выводтся, то есть выводится, но не то!! В книге В. Юрова похожий пример без проблем работает (правда сам его не компилировал!). Командой mov dx,mas[si*2] я обращаюсь к третьему элементу массива, затем прибавляю 30h, т.е. на экран должна быть выведена тройка, а выводится не то!! В TD при отладке после этого mov-a в dx находится адрес элемента массива, а не он сам!, хотя в вышеуказанной книге написано, что должен быть сам элемент!
Да, еще в том книжном примере, вместо si используется esi, хотя программа 16-битная, досовская!! Я пишу si, и tasm ругается но компилирует, а если пишу esi, то tlink глохнет!, че делать-то, книга-то вроде авторитетная!!
С уважением Dick Wint.
Приложение:
Вопрос отправлен: 02.07.2003, 15:39
Отправитель: Dick Wint
[Следующий вопрос >>] [Список вопросов]
Отвечает Denis
Здравствуйте, Dick Wint!
Нада инить регистр DS
Расположи в начале кода
push cs
pop ds
Удачи
Ответ отправлен: 02.07.2003, 15:52
Отправитель: Denis
Отвечает Ayl
Здравствуйте, Dick Wint!
Ну давай по порядку. Хотя какой тут порядок!
1. Массив mas у тебя описан как байтовый. Зачем тогда используется умножение на 2? Это надо делать только для двухбайтовых значений.
2. Числа из массива загружаешь в словный регистр DX, а надо просто в DL (см. п.1).
3. Адресация с множителем может выполняться только с 32-разрядными регистрами, а не с 16-разрядными, как у тебя. Кстати, использование 32-разрядных регистров в DOS-программах вполне законно.
4. Значение регистра SI ты неинициализируешь. Для дебагера это неважно, а вот под DOS у тебя при старте программы в регистре SI будет значение 100h. Ну и какой элемент ты вытащишь?
Ответ отправлен: 02.07.2003, 16:52
Отправитель: Ayl
Отвечает Tigran K. Kalaidjian
Здравствуйте, Dick Wint!
1. В DX должно быть не число, а _смещение_ от начала сегмента, по которому лежит то число, которое нам надо вывести.
Для Вашей цели использование ah=02h\int21h неудобно.
Используйте int 29h (работающая программа в приложении)
Перед вызовом в al следует посадить ASCII-код символа
2. Двойка перед номером элемента не нужна, т.к. Вы используете массив из байтов, а не слов(как у Юрова).
3. Программа с int21h все равно не работала бы, ибо Вы не инициализировали сегмент данных.
4. Работа с 32-битными регистрами возможна, т.к. включены инструкции .486
5. А Вы хотя бы попробовали перепечатать, что ли из Юрова полностью этот пример, а то ведь нехорошо как-то - обвиняете автора...
Приложение:
Ответ отправлен: 02.07.2003, 19:24
Отправитель: Tigran K. Kalaidjian
Отвечает baldr
Добрый день, Dick Wint!
Мда... В si у тебя ничего нет, вернее - неизвестно что находится, а ты по нему адресуешь...
Поставь в начале:
mov si, offset mas+2
И все должно получиться
Ответ отправлен: 02.07.2003, 17:08
Отправитель: baldr
Отвечает Beeblebrox
Добрый день, Dick Wint!
А чему равно si?
Ответ отправлен: 02.07.2003, 17:04
Отправитель: Beeblebrox
Отвечает Алексей
Доброе время суток, Dick Wint!
Ну, у меня вообще-то она вообще не компилируется!
Нужно заменить строку mov dx,mas[si*2] на mov dl,mas[si+2]
И ещё! В SI у вас при загрузке находится 100h, => нужно инициализировать SI, например обнулить.
Использование 32-х битных регистров под DOS реализуется,если установлен ключ линкера (для TASM - /3)
Исправленный код в приложении.
Приложение:
Ответ отправлен: 02.07.2003, 17:03
Отправитель: Алексей
Отвечает Bob Johnson
Доброе время суток, Dick Wint!
В 16-разрядном режиме нельзя умножать значения регистров при адресации! В 32-х можно, поэтому там и работает.
Делай так:
mov ah, 2
shl si, 1
mov dl, [offset mas + si]
add dl, 30h
int 21h
...
* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---
Ответ отправлен: 03.07.2003, 00:17
Отправитель: Bob Johnson
Отвечает ASMодей
Добрый день, Dick Wint!
Уж не знаю, что ты прочитал в Юрове, но строка
mov dx,mas[si*2]
является просто образцом некорректности.
1. Ты записываешь в 16-битный регистр DX элемент 8-битного массива mas. Поэтому тасм и ругается (несоответствие типов). Тут нужно или вместо регистра DX использовать регистр DL, или писать mov dx,word ptr...
2. Регистр SI здесь использовать не только не нужно, но и неправильно, так как ты уже адресуешься к массиву с помощью переменной mas. К тому же регистр SI не был в начале проинициализирован, поэтому выражение SI*2 - это неопределенное число и обратишся ты по этому адресу неизвестно куда. Здесь тоже есть два выхода:
или mov dl,mas[2]
или mov esi,offset mas
mov dl,[esi*2]
Регистр ESI используется здесь потому, что индексирование по 16-разрядным регистрам недопустимо.
Если так уж нужно использовать регистр SI, то можно сделать так:
mov si,offset mas
mov dl,[si+2]
или так:
sub si,si
mov dl,mas[si+2]
Ответ отправлен: 03.07.2003, 08:09
Отправитель: ASMодей
Отвечает Lynx
Добрый день, Dick Wint!
1. А ты уверен, что во время выполнения si у тебя равен тому, чему надо. Чёто ты его не инициализируешь.
2. Я не уверен (а проверять лень) что в твоём случае надо массив описывать через db, а не через dw.
Ответ отправлен: 03.07.2003, 14:54
Отправитель: Lynx
Отвечает Евгений Иванов
Добрый день, Dick Wint!
Попробуй так:
shl si, 1
mov dx,[si+mas]
или так
and esi, 0FFFFh
mov dx,[esi*2+mas]
Но по моему, надо так:
mov dl,[si+mas]
Ответ отправлен: 04.07.2003, 00:04
Отправитель: Евгений Иванов
Вопрос № 3618 |
Ты смотри... baldr удивил, конечно, удивил. И верно - было, такое было. Хотя, впрочем, вам на такие вопросы только и отвечать. А что-то я вашего архивариуса-валентинчика не вижу? Что он в той же ж..., что и Калашников? Довели?
Маскуеру - да было бы кому расслаблять, а то все только языками бы... да и то не в нужном месте...
baldr - и сколько ж тут старичков осталось? Ну, БрокенСворда я уже слышала, хотя он, предатель, еще и на wasme тусуется. А кто еще есть?
И чтой-то, ребята, у вас у всех "благодарностей" по нулям? Что, не благодарят,гады, за ваши ответы? Хотя и "критики" тоже никакой нет. Так может вы НИКАКИЕ ???
Вопрос отправлен: 02.07.2003, 17:36
Отправитель: Наталья Березовец (stalmk@bk.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Tigran K. Kalaidjian
Здравствуйте, Наталья Березовец!
Не, я так не играю...
Пробовал не отвечать, но так нельзя же. Вы, барышня,(подчеркиваю жирной двойной волнистой линией 8-D~~ ) если призываете писать Вам на мыло, то и пишите также на мыло своё негодование, а то скоро, чувствую придётся ящик разгребать от ваших "вопросов". Зачем же писать свои впечатления всем экспертом сразу? Хотя Вам, видимо, нравится, когда на Ваш вопрос отвечает сразу СТОЛЬКО экспертов =)
> И чтой-то, ребята, у вас у всех "благодарностей"
> по нулям? Что, не благодарят,гады, за ваши ответы?
А как это сделаешь, сервиса такого нет... Даже при полном желании не сможете.
> Хотя и "критики" тоже никакой нет.
По той же причине... Хотя по мылу, хоть отбавляй и первого, и второго.
> Так может вы НИКАКИЕ ???
Таки Вы бы и не писали сюда в таком случае, значит мы какие-то, раз привлекли Ваше внимание...(хотя это и не наша ф-ция)
Ответ отправлен: 02.07.2003, 19:59
Отправитель: Tigran K. Kalaidjian
Отвечает masquer
Ну, дык поди девочка взрослая уже, пора найти - кому расслаблять, а то на одном языке далеко не уедешь, тем более если не в нужном месте. Ежели б была тут рассылка по виртуальным перверсиям - вот бы мы благодарностей нахватались бы, а так по нулям все... Ладно, я завязываю этот флейм, думаю, и другим стоит ;)
Ответ отправлен: 02.07.2003, 18:39
Отправитель: masquer
Отвечает baldr
Доброе время суток, Наталья Березовец!
Флейм, типа, рулит... :-/
Архивариус сгинул уже давно... :( Пытался я выяснить куда, но бесполезно.
Так что на такие вопросы, и верно, нам отвечать. Хотя, альтруизма никто не ценит, как видимо... Скорее всего, мы тут для своего удовольствия отвечаем, потому как читатели чаще флеймят, чем благодарят (намек)...
Старичков тут вполне достаточно. Хотя все равно все "предатели" - почти все тусуются и на других форумах.
Ответ отправлен: 02.07.2003, 17:50
Отправитель: baldr
Отвечает ASMодей
Здравствуйте, Наталья Березовец!
Вообще-то для подобного "общения" есть форум.
Ответ отправлен: 03.07.2003, 08:16
Отправитель: ASMодей
Вопрос № 3619 |
Здравствуйте, уважаемые эксперты!
Написал программу(в приложении). Должна переименовывать temp.txt в newfile.obj . При запуске после компиляции выдаётся сообщение:
[+++++++++++++++++++++++++++]
Опущен обязательный параметр
[+++++++++++++++++++++++++++]
Что я делаю не так ?
Оба файла лежат в директории с тасмом. У Р.Брауна не нашел никаких багов для функции 56h...
Надеюсь на ваш ответ.
Приложение:
Вопрос отправлен: 02.07.2003, 18:47
Отправитель: Aram Markaryan
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Добрый день, Aram Markaryan!
Вот уж не знаю... Откомпилил сейчас у себя с помощью TASM (
tasm prog /m2 /la
tlink prog /m /s /v
), создал файл temp.txt, запустил - и все прекрасно переименовалось! Так что собака тут где-то еще порылась...
Напиши, как компилишь, какие ключи... Что используешь.
Я вообще не представляю, кто тебе это сообщение пишет...
Ответ отправлен: 02.07.2003, 19:50
Отправитель: Ayl
Отвечает Евгений Иванов
У меня всё работает.
У тебя значит не работает что-то другое, а не эта функция.
Попробовал, переименовывает. Но если файл уже есть, то не переименовывает.
Поэтому надо проверять на наличие файла второго, и удалять его.
Всё.
Ответ отправлен: 04.07.2003, 00:05
Отправитель: Евгений Иванов
Отвечает _vt
Добрый день, Aram Markaryan!
Как я не пытался, но этот код работает! Никаких сообщений!
Даже не стал лазить в Ральфа Брауна... :-)
Возможно, в текущем каталоге у вас нет файла temp.txt, или уже присутствует newfile.obj
P.S. При использовании модели памяти small у вас должен присутствовать сегмент стека (например
.stack 100h
), но даже без него у меня ваш код работает! :-))P.P.S. В данной программе ключевое слово masm абсолютно ни к чему...
---===*** E-Man 1.2 - Powerful toy***===---
Ответ отправлен: 04.07.2003, 20:40
Отправитель: _vt
Вопрос № 3620 |
Вот именно. Давайте завязывайте ваш флейм, борцы за чистоту интернета. Были тут раньше такие. Дигит, по-моему, и еще кто-то. А, кстати, где ваш Дрон? Или их два там было... Тоже угробили? Нехорошо, ребеята, нехорошо..
Вопрос отправлен: 02.07.2003, 19:04
Отправитель: Наталья Березовец
[Следующий вопрос >>] [Список вопросов]
Отвечает Andrew Vext
Доброе время суток, Наталья Березовец!
давайте перенесем обсуждение в какую-нибудь кафешку (как то оно уютнее будет). А то все плююются как виртуальные верблюды :-)
Королев Андрей
CCNA MCSE
vext@mail.ru
Ответ отправлен: 03.07.2003, 12:34
Отправитель: Andrew Vext
Отвечает Tigran K. Kalaidjian
Добрый день, Наталья Березовец!
> Вот именно. Давайте завязывайте ваш флейм,
> борцы за чистоту интернета
Нет, не наш, а Ваш флейм. Мое мыло открыто kalaidjian@pochtamt.ru
Я его предлагал в качестве направления для Ваших эмоций, но Вы этим не воспользовались. Значит Вам нравится выступать на публике, да и еще в рассылку попадете (оставите свой след в истории).
Но кому-кому, так не Вам указывать когда нам и чего завязывать.
Если хотите поговорить, то на RusFAQ есть еще такой сервис, как "форум", можете им воспользоваться...
Ответ отправлен: 02.07.2003, 20:00
Отправитель: Tigran K. Kalaidjian
Вопрос № 3621 |
Здравствуйте, Эксперты. Тут вот сразу куча вопросов:
1. Есть какая-н. функция, которая конвертит NT-шные пути, такие как \Device\HarddiskVolume1\Windows в нормальные?
2. Есть вирус (написан на скорую руку), записывающийся в конец PE-файла и изменяющий размер его последней секции.
Новый AddressOfEntryPoint вычисляется как VirtualAddress+SizeOfRawData последней секции.Затем Изменяются ее VirtualSize и SizeOfRawData. SizeOfImage в IMAGE_OPTIONAL_HEADER становится равным новому SizeOfRawData+VirtualAddress последней секции.
С большинством PE-файлов все нормально работает, но есть и такие, с которыми нихрена не работает.
Когда смотришь их в дизассемблере, оказывается, что адрес точки входа вычислен неправильно. Что делать?
3. Как сделать, чтобы вылез BSOD в NT (для 9x я и сам 5000 способов найду :-))?
Вопрос отправлен: 03.07.2003, 04:00
Отправитель: Marouder (marouder@list.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Добрый день, Marouder!
2. К концу последней секции? Последней секцией могут быть ресурсы, релоки, отладочная инфа - и ты к ней исполняетмый код цепляешь? Характеристики секции хоть меняешь? Оеп должен быть тогда VA + смещение в текущей секции. А "VirtualAddress+SizeOfRawData" это получается выход за пределы секции.
3. Из ринг0 разве что
Ответ отправлен: 03.07.2003, 13:23
Отправитель: masquer
Вопрос № 3622 |
Приветствую вас ЭксперТы.
У меня есть вопрос. Недавно книжку читал заумную про компы. Вней одна из глав посвящана системам счисления. Целочисленные значения я переводит умею, но там такая строчка была нарисована:
96,875d = 1100000.111b
Как циферки после запятой переводятся.......
И еще чему равно
1 / 1010b = ?b
Зарание благодарен. zOmegA
Вопрос отправлен: 03.07.2003, 06:01
Отправитель: zOmegA (zOmegA@inbox.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Dark_Lord
Приветствую Вас, zOmegA!
В двоичной системе вычисления используются степени двойки, причём как позитивные, так и негативные, например 0,5=1/2 = (2)^-1, 0,25=1/4=(2)^-2, поэтому 0,875=0,5+0,25+0,125=1/2+1/4+1/8=(2)^-1 + (2)^-2 + (2)^-3
Ответ отправлен: 03.07.2003, 21:33
Отправитель: Dark_Lord
Отвечает Евгений Иванов
Вообще то нет дробных чисел.
Есть только целые.
А запятая придумана для удобства.
Например число 96,875 = это целое 96875, умноженное на 0.001, т.е. 10 в минус
3.
Или разделённое на 1000.
Т.е. например надо сложить на Ассемблере 2 числа:
3.23 + 45.123
Для этого умножаем на 1000 оба числа:
3230 + 45123 = 48353
И затем делим на 1000 полученное число:
48.353 - получил нужное!!
Всё просто и без всяких запятых!
Таким же образом можно делить числа "дробные" :)
45.123 / 3.23 = ?
45123 / 3230= 13.969969
Тут уже умножать не надо, потому что делим, и эта тысяча ушла...
Теперь умножь на миллион и работай!
Я хочу сказать, что запятая лишь помогает в понятии числа.
Ответ отправлен: 04.07.2003, 13:58
Отправитель: Евгений Иванов
Отвечает Zedr0n
Добрый день, zOmegA!
Тут все достаточно просто. Это число с фиксированной запятой в формате 12:4, насколько я понимаю. Смотри,
1100000b = 96d
1110b(4 цифры, потому что формат :4) - 14d.
14/16 = 0,875 - что и было надо.
Подробнее о действиях над числами фиксированной запятой можно почитать у Зубкова, или посмотри в каком-то из выпусков Hugi было хорошее объяснение...
Ответ отправлен: 06.07.2003, 19:17
Отправитель: Zedr0n
Отвечает Tigran K. Kalaidjian
Приветствую Вас, zOmegA!
Также, как и целочисленные, т.е. с помощью степеней двойки, только разряды "вправо" от запятой будут соответствовать 1/2, 1/4, 1/8, 1/16 и т.д., т.е. отрицательным степеням двойки.
0.111b=(1/2+1/4+1/8)d=0.875d
Теперь вторая часть вопроса (отступы могут потеряться, так что используйте шрифт Courier)
(1/1010)b=0.1d
Попробуем применить деление "в столбик"
10000 |1010
- 1010 +----
------ |0.0001100(1100)...
01100
- 1010
-----
10000 (приходим к изначальному=>есть период)
Попробуем представить частное в виде суммы ряда степеней двойки, которым соответствует "единица" в частном в двоичном представлении:
1/16+1/32+1/256+1/512...
И действительно:
+БЕСК.
-------|
\ 3
0.1 = \ ----------
/ (2k+1)
/ 8*2
-------|
k=0
Здесь k пробегает все значения от еуля до бесконечности.
Это и есть ответ на Ваш вопрос.
Проверял в программе "Mathematica" =)
Если будут вопросы - пишите на kalaidjian@pochtamt.ru
Ответ отправлен: 03.07.2003, 10:36
Отправитель: Tigran K. Kalaidjian
Отвечает Ayl
Добрый день, zOmegA!
> Как циферки после запятой переводятся.......
Также и переводятся. Рациональное число в некоторой позиционной с.с. (основание N) выглядит так:
ApA(p-1)...A(1)A(0).A(-1)A(-2)...A(-k)
где 0<=A(i)
D = SUMM (A(i) * N ^ i)
Т.е. 0.111b = 1*2^(-1) + 1*2^(-2) + 1*2^(-3) = 0.5 + 0.25 + 0.125 = 0.875
Из 10-й с.с. дробная часть переводится либо подбором (сначала смотрим, сколько раз в нем содержится число N^(-1), затем - N^(-2) и т.д.), либо по следующему алгоритму:
1. Ставим точку - разделитель между целой и дробной частью
2. Умножаем дробную часть на число N
3. Записываем в текущую позицию ЦЕЛУЮ часть результата
4. Оставляем ДРОБНУЮ часть результата в качестве нового числа для работы
5. Если число = 0 - все ОК, перевели. Результат - конечная дробь
6. Иначе повторяем действия с п.2, пока не надоест.
В приложении - пример перевода
> И еще чему равно 1 / 1010b = ?b
Ну возьми и подели (в столбик!):
1 0000 | 1010
1010 ------
------ |0.0001100...
1100
1010
------
10000 - повторился остаток
....
Итак, 1/1010b = 0.0(0011) - периодическая двоичная дробь.
Приложение:
Ответ отправлен: 03.07.2003, 10:42
Отправитель: Ayl
Отвечает Bob Johnson
Приветствую Вас, zOmegA!
Такой вопрос уже давно был тут как-то и я помню, что на него отвечал :) Но это было уже слишком давно...
В общем, берешь число, целую часть переводишь обычным способом, а дробную - вот так:
1. Умножаешь ее на 2.
2. Если результат больше 1, то пишешь 1 и вычитаешь 1 из результата (т.е. еще раз берешь дробную часть), иначе - пишешь 0.
3. Если исходная дробная часть после шага 2 не равна 0, то идешь на шаг 1.
4. Конец (алгоритма, в смысле).
Таким образом:
0,875 * 2 = 1,75
пишем 1, остается 0,75
0,75 * 2 = 1,5
пишем 1, остается 0,5
0,5 * 2 = 1
пишем 1, остается 0
все. число получилось 111.
* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---
Ответ отправлен: 04.07.2003, 00:30
Отправитель: Bob Johnson
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (38) C / C++ (23) Perl (4) Builder / Delphi (17) Pascal (23) Basic / VBA (7) Java / JavaScript (11) PHP (4) MySQL / MSSQL (5) Криптография (2) WinAPI (4) |
Пользователю Windows 95/98/Me (30) Windows NT/2000/XP (24) "Железо" (22) Поиск информации (16) |
Администратору Windows NT/2000/XP (13) Linux / Unix (5) |
Юристу Гражданское право (7) Семейное право (3) Трудовое право (5) КоАП (4) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||