Форум 3DNews
Вернуться   Форум 3DNews > Программирование > Программирование

Ответ Создать новую тему
Опции темы Опции просмотра
Непрочитано 03.10.2005, 17:52   [включить плавающее окно]   #1
telnashka
Мужской Новенький
Автор темы
 
Регистрация: 03.10.2005
Question Блондинка Просит Объяснения Тупой Программы..на То Она И Блондинка..

ПОЖАЛУЙСТА!!!!!!НЕ ПРОХОДИТЕ МИМО!!Я УМНАЯ,НО ВОТ С ПРОГРАММИРОВАНИЕМ МЕНЯ ОБДЕЛИЛИ!!!РАСШИФРУЙТЕ МНЕ ЭТИ ПРОГРАММКИ!!!ПЛИЗ!!


Из десятичной в двоичную (DecToBin)
function DecToBin(Value: Integer): string;
begin
Result := '';
while Value > 0 do
begin
if Odd(Value) then Result := '1' + Result
else Result := '0' + Result;
Value := Value shr 1;
end;
if Result = '' then Result := '0';
end;


Из десятичной в восьмиричную (DecToBin)
function DecToOct(Value: Integer): string;
const HS: array[0..7] of Char = '01234567';
begin
Result := '';
while Value > 0 do
begin
Result := HS[Value mod 8] + Result;
Value := Value shr 3;
end;
end;

ВАША БЛОНДИНКА
telnashka вне форума  
Ответить с цитированием
Непрочитано 03.10.2005, 18:08   [включить плавающее окно]   #2
CapOne
Мужской Умудрённый
 
Аватар для CapOne
 
Регистрация: 08.02.2003
Адрес: Новосибирск
telnashka
тебя обманули!
это перевод не из десятичной в двоичную, а из двоичной в двоичную
если эти проги написал преподаватель, скажи ему, что он не шарит
__________________
Гайдар и другие экономисты поступили очень просто: представили потребности общества в виде решётки, а затем её сплющили.
CapOne вне форума  
Ответить с цитированием
Непрочитано 05.10.2005, 10:14   [включить плавающее окно]   #3
groger
Мужской Интересующийся
 
Регистрация: 05.07.2005
Адрес: Троицк
Тут скорее не программирование, а математика. Перевод числа из одной(первой) системы в другую(вторую) осуществляется последовательным делением с остатком числа на основание второй системы. Получившееся частное опять делят на то же основание, и так пока частное не станет равным 0. Затем остатки записываются в обратном порядке.
Поясню на примере числа 10:
10/2=5 +0
5/2=2 +1
2/2=1 +0
1/2=0 +1
Получили 10 в десятиной равно 1010 в двоичной...
10/8=1 +2
1/8=0 +1
...и 12 в восьмеричной.
Собственно, приведенные функции проделывают то же самое, только используют понтовые вещи=).
В первой Odd проверяет четность-нечетность, что то же самое, что остаток от 2. Потом остаток дописывается в начало, а исходное число делится на два.
Shr - функция сдвига числа,например,
1010 shr 1=101
1010 shr 2=10
Так как число хранится в двоичном виде, то shr n равносильно div 2^n (2 в энной степени). В нашем случае деление на 2 - shr 1, деление на 8 - shr 3.
__________________
Вчера с пальмы слез
groger вне форума  
Ответить с цитированием
Непрочитано 05.10.2005, 15:56   [включить плавающее окно]   #4
CapOne
Мужской Умудрённый
 
Аватар для CapOne
 
Регистрация: 08.02.2003
Адрес: Новосибирск
все равно смысла от этих штучек ноль
все быстродействие съедается строкой Result := ... + Result;
__________________
Гайдар и другие экономисты поступили очень просто: представили потребности общества в виде решётки, а затем её сплющили.
CapOne вне форума  
Ответить с цитированием
Непрочитано 05.10.2005, 17:10   [включить плавающее окно]   #5
telnashka
Мужской Новенький
Автор темы
 
Регистрация: 03.10.2005
Цитата (groger) »
Тут скорее не программирование, а математика. Перевод числа из одной(первой) системы в другую(вторую) осуществляется последовательным делением с остатком числа на основание второй системы. Получившееся частное опять делят на то же основание, и так пока частное не станет равным 0. Затем остатки записываются в обратном порядке.
Поясню на примере числа 10:
10/2=5 +0
5/2=2 +1
2/2=1 +0
1/2=0 +1
Получили 10 в десятиной равно 1010 в двоичной...
10/8=1 +2
1/8=0 +1
...и 12 в восьмеричной.
Собственно, приведенные функции проделывают то же самое, только используют понтовые вещи=).
В первой Odd проверяет четность-нечетность, что то же самое, что остаток от 2. Потом остаток дописывается в начало, а исходное число делится на два.
Shr - функция сдвига числа,например,
1010 shr 1=101
1010 shr 2=10
Так как число хранится в двоичном виде, то shr n равносильно div 2^n (2 в энной степени). В нашем случае деление на 2 - shr 1, деление на 8 - shr 3.







спасибо огромненькое!!!!!
telnashka вне форума  
Ответить с цитированием
Ответ Создать новую тему

Опции темы
Опции просмотра

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

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

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


Текущее время: 13:37. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 2000-2017 3DNews. All Rights Reserved.
Администрация 3DNews требует соблюдения на форуме правил и законов РФ
Серверы размещены в Hostkey