Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/34: Рейтинг темы: голосов - 34, средняя оценка - 4.62
-2 / 1 / 0
Регистрация: 18.07.2018
Сообщений: 84

Каков принцип округления дробных чисел у компьютера/компилятора?

25.07.2018, 23:01. Показов 8795. Ответов 88
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.

У меня тут такой вопрос для темы: Как именно осуществляется округление дробных чисел в компьютере? Какими правилами он пользуется?
Я пишу программу, просто как тренировочную, в целях практики, так как я только начинаю путь программирования,ее цель (программы) это тренинг по математике, различного уровня сложности и головоломки, и вот в этой программе, возникли проблемы с расхождением результатов: результат, который ввожу я, (вычисленный на калькуляторе) отличается от результата, который вычисляет компьютер. При том что используемый калькулятор - стандартный в ОС Windows. Мало того значение в переменной округляется на разных этапах компиляции, что приводит в расхождению результатов и невозможно подобрать правильный. Такое ощущение, что компьютер играет со мной в стаканчики и крутит вертит эти результаты, чтобы запутать.

Прогонял через отладчик, и даже просто переписывал результат из переменной хранящей результат, но при сравнении снова выдает ошибку совпадения, результаты разные, компилятор округлил значение на каком то этапе компиляции и уже несовпадение.

В общем вопрос очень тонкий, надеюсь есть решения, которые можно осуществить на уровне начальных знаний о С++, или же надо подключать сложные и громоздкие математические библиотеки, с которыми я еще не знаком?

Конечно программа не принесет прибыли, и даже может пользы (в плане математики) от нее будет не много, но как практическая работа она очень интересная.


P.S. Пытался загрузить проект (правда он не закончен), но не получается пока... буду пытаться еще грузить, может кому интересно будет на него взглянуть.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.07.2018, 23:01
Ответы с готовыми решениями:

Как избежать округления дробных чисел
как сделать что бы не округляло ??? float t; float z,m; using namespace std; void main(void) { m=-pow(5,2)/2;

Как избежать округления дробных чисел
не виводит дробь а только целие числа. где проблема ? #include <iostream.h> #include <math.h> int mat(double x,double...

Каков принцип работы атрибутов
Всем доброго времени суток. Объясните пожалуйста принцип работы атрибутов. То есть я написал атрибут и теперь я могу сериализовать...

88
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
27.07.2018, 23:57
Студворк — интернет-сервис помощи студентам
txtbit, можно конечно и поисследовать... Но, скажите, а вербально - никак? Просто, если оно Вам нужно, действительно, то было бы гуманно (по отношению к тем кого Вы спрашиваете) попытаться объяснить. imho.
0
0 / 0 / 0
Регистрация: 27.11.2017
Сообщений: 22
28.07.2018, 04:05
Цитата Сообщение от IGPIGP Посмотреть сообщение
это очень страшная фраза. SemenTVS, покажите-ка пример того, как Вы
Посмеялись? теперь ваше эго надеюсь утолено...
Все ясно изложено в предыдущем моем посте, возможно я не правильно понял автора темы, чего он хочет добиться. Но уж точно ему не нужны те дебри работы аппаратуры, во всяком случае пока.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
28.07.2018, 08:03
Цитата Сообщение от SemenTVS Посмотреть сообщение
Но уж точно ему не нужны те дебри работы аппаратуры, во всяком случае пока.
и каким образом он, не влазя в эти дебри, получит вот это
Цитата Сообщение от txtbit Посмотреть сообщение
C
1
if (UserResult == Result)
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
28.07.2018, 08:58
Цитата Сообщение от SemenTVS Посмотреть сообщение
Все ясно изложено в предыдущем моем посте

Не по теме:

Это тоже непонятно. Кому ясно? Мне не ясно, иначе бы я не спросил. Что касается юмора, то это не порок, я ведь не делал оценочных суждений о вас. Я сказал о вашей фразе и готов повторить. А вы говорите о моих намерениях и эго. Об этом в - другие разделы, но вкратце - каждый из нас тут по разным причинам. Комбинация наличия свободного времени и эго - не последняя из них. Пропорции разные у всех, да.


И всё же. Когда вы говорите об "округлении в процессе расчёта", я хочу понять, что именно вы говорите. Я спрошу конкретнее:
-"в процессе" означает, что вы округляете промежуточные результаты?
-как вы их определяете (все ли округляеете начисто или выборочно и если выборочно, то как выбираете)?
-как производите само округление?
-зачем вы это делаете?
Цитата Сообщение от SemenTVS Посмотреть сообщение
Но уж точно ему не нужны те дебри работы аппаратуры, во всяком случае пока.
Опять оценка чужих мотивов. О дебрях тут никто не говорил. Нет подробностей работы сопроцессора и т.п. Есть сведения о внутреннем представлении. А вот без него любой вопрос подобного рода - просто сотрясание воздуха. Это моё мнение.
0
-2 / 1 / 0
Регистрация: 18.07.2018
Сообщений: 84
28.07.2018, 10:38  [ТС]
А вот без него любой вопрос подобного рода - просто сотрясание воздуха. Это моё мнение.
Мнение услышано, спасибо.

А теперь конкретно к теме....↓↓↓

Цитата Сообщение от IGPIGP Посмотреть сообщение
Нет подробностей работы сопроцессора и т.п.
Скажите о чем именно идет речь, и я попробую представить вам данные подробности, хотя тут и так все понятно. Я хочу чтоб UserResult == Result, и при этом не надо было вычислять все через число мантисса и экспоненту, или представлять все в двоичном виде, так ведь люди не решают примеры на уроках математики, Вы ведь сами так не решали такие примеры в институте или колледже - все делалось на бумаге, в столбик.

Ответ должен быть высчитан либо в уме (если кто то способен делать такие расчеты в уме), либо на бумаге, и потом эти расчеты внести через "cin" в переменную UserResult, что б выполнилось условие if (UserResult == Result). Вот это все что я хочу.

Есть способы без вычислений все через число мантисса и экспоненту, и представлений все в двоичном виде, или нет? Если есть, то подскажите какие (вкл. библиотеки stl или тому подобные, придется знакомиться с ними прежде чем узнать до конца что такое класс и объекты класса)))) ), если нет, то так и скажите что таких способов нет, что надо писать данную библиотеку самому или оставить данный проект...

Всем еще раз спасибо за дискуссию, ответы в любом случае были интересные, многое что взято на заметку...

Добавлено через 7 минут
Цитата Сообщение от Renji Посмотреть сообщение
Вот так:-8.40939720e-06 выглядит результат в переменной Result когда видишь его через отлдачик.
Число хранится в форме мантисса*2^экспонента. У вас запись в форме мантисса*10^экспонента. То есть, экспонента меньше в log2(10) раз. А так как точного значения логарифма десяти по основанию два отладчик не знает, при пересчете мантиссы получаем ошибки округления.
Сообщение от "txtbit
cin >> UserResult;
Попытка ввести 0.что-то там, это попытка ввести десятичную дробь. Еще раз получаем ошибки округления.
Сообщение от "txtbit
if (UserResult == Result)
И конечно же, итоговое число с исходным уже не совпадает.
Все это я понял уже дважды... Вопрос, что с этим делать? Есть ли решения, чтоб итоговое число с исходным совпадало? И какие, если таковые есть...

Добавлено через 3 минуты
Цитата Сообщение от txtbit Посмотреть сообщение
И какие, если таковые есть...
Не будет ли в данном случае более разумным попытаться организовать ввод числа в форме той же самой мантиссы и экспоненты? [Мысли в слух.....]

Пример: cin >> ввод данных как мантисса и экспонента;
Добавлено через 3 минуты
Цитата Сообщение от IGPIGP Посмотреть сообщение
Но, скажите, а вербально - никак? Просто, если оно Вам нужно, действительно, то было бы гуманно (по отношению к тем кого Вы спрашиваете) попытаться объяснить.
В данном случае никак. Здесь только наглядный пример, потому что каждый понимает вопрос по своему... С одной стороны это хорошо, но мне нужна другая сторона, где ответ содержит подсказку как сделать так, чтоб итоговое число с исходным совпадало...

Добавлено через 5 минут
Цитата Сообщение от SemenTVS Посмотреть сообщение
обычно до 3 знаков требовалось
round(znachenie * 1000) / 1000
или мб вам стоит перед началом умножить значения переменных на 100000 , провести расчеты,а перед сравнением снова разделить на 100000 и вывести результаты.
Если можно тут по подробнее... Если не сложно, хоть самый маленький пример, пусть даже не полный, только на С++, а то я синтаксис других языков не понимаю, пока что.....
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
28.07.2018, 10:58
Цитата Сообщение от txtbit Посмотреть сообщение
хотя тут и так все понятно
Это одна из главных проблем. Вы даже не можете понять насколько вам непонятно то, о чём вы говорите. Ведь:
Цитата Сообщение от txtbit Посмотреть сообщение
UserResult == Result
для чисел с плавающеё точкой (в цифровом мире), это неверно. Такие числа могут быть сравнимы лишь на разность (обычно по модулю) и для этого выбирают некоторое число - погрешность сравнения, обычно зависящее от некоторого среднего из сравниваемой пары. Это достаточно малое в сравнении с ними число, чтобы результат такого сравнения был удовлетворителен для данной задачи. Что касается двоичного представления, то оно не является камнем преткновения. Оно позволяет отразить полтора десятка значащих (десятичных) цифр для double, но если вы нехотите в это вникнуть, то помочь вам не могу.
Написать собственную библиотеку использующую некое макросивольное представления в десятичных разрядах, это тяжелый труд, но главное - совершенно бессмысленный. Пересмотрите мой пост с сылкой на стандарт и посмотрите блог по другой ссылке. Это не то что читается как белетристика, но и тут не могу помочь. Вы вот даже людям, которые могут понять не можете объяснить в словестной форме, а представьте, что вам это нужно объяснить детям в детсаду. Вот и мы вам не сможем. Пока вы не почитаете, то что не хотите.
0
-2 / 1 / 0
Регистрация: 18.07.2018
Сообщений: 84
28.07.2018, 11:17  [ТС]
#define это UserResult == Result


Цитата Сообщение от IGPIGP Посмотреть сообщение
для чисел с плавающей точкой (в цифровом мире), это неверно и т.д и т.п.
Я это все понял и читал уже не мало постов и статей про это, мне надо другое, я уже показал что я хочу, но если это не работает, то по логике, Ваш ответ должен содержать информацию, которая поможет понять или сделать так чтоб можно было выполнить условие, пусть даже не в представлении UserResult == Result, а в каком то другом, но чтоб суть, в конечном итоге была именно UserResult == Result.

Цитата Сообщение от IGPIGP Посмотреть сообщение
а представьте, что вам это нужно объяснить детям в детсаду
вот именно про это я и говорю. Только представьте, что эти примеры решают не программисты, а дети, которые понятия не имеют про то, что↓↓↓
Такие числа могут быть сравнимы лишь на разность (обычно по модулю) и для этого выбирают некоторое число - погрешность сравнения, обычно зависящее от некоторого среднего из сравниваемой пары. Это достаточно малое в сравнении с ними число, чтобы результат такого сравнения был удовлетворителен для данной задачи. Что касается двоичного представления, то оно не является камнем преткновения. Оно позволяет отразить полтора десятка значащих (десятичных) цифр для double
и им надо просто записывать свой результат, который они решили, набрав его с клавиатуры.....

Внимание вопрос: Как это сделать?
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
28.07.2018, 11:32
Цитата Сообщение от txtbit Посмотреть сообщение
Я это все понял и читал уже не мало постов и статей про это, мне надо другое, я уже показал что я хочу
Если вы видете что
Цитата Сообщение от txtbit Посмотреть сообщение
UserResult == Result
это неверно в той степени в которой вы его используете как инструмент (для передачи ваших пожеланий, в данной предметной области) то зачем тогда используете?
Цитата Сообщение от txtbit Посмотреть сообщение
, Ваш ответ должен содержать информацию, которая поможет понять или сделать так чтоб можно было выполнить условие
Вообще говоря необязательно. Я не могу написать тут книгу. Да и не лучший я в этой области. Просто я кое-что знаю и даю вам источники, кроме своих (малых и недостойных, конечно) наблюдений. Но вот это:
Цитата Сообщение от txtbit Посмотреть сообщение
В данном случае никак. Здесь только наглядный пример, потому что каждый понимает вопрос по своему... С одной стороны это хорошо, но мне нужна другая сторона, где ответ содержит подсказку как сделать так, чтоб итоговое число с исходным совпадало...
говорит о полном нежелании вникнуть в суть того, что вы сами спрашиваете.
В цифровом мире:
Для чисел с плавающей точкой нет алгоритма обеспечивающего равенство. Потому что результат зависит от порядка вычислений в частности. Причём, речь идёт об операциях равного приоритета с точки зрения математики. Это потому, что в прикладной математике всё несколько иначе.
Для детей не имеющих представления о плавающей точке нет смысла говорить о иррациональных или, упаси бог, трансцендентных числах. Лучше им заняться целочисленной математикой - арифметикой. Остальное, - по мере наращивания скилов. Там, когда-нибудь им можно будет без труда объяснить, почему нет строгого равенства для чисел с плавающей точкой в цифровом мире, такого которое является однозначно гарантированным результатом.
0
-2 / 1 / 0
Регистрация: 18.07.2018
Сообщений: 84
28.07.2018, 11:58  [ТС]
Добавлено через 4 минуты
Цитата Сообщение от IGPIGP Посмотреть сообщение
это неверно в той степени в которой вы его используете как инструмент (для передачи ваших пожеланий, в данной предметной области) то зачем тогда используете?
Я его не использую сейчас, в данный момент разработка программы и отладка стоит на паузе, а то что это не работало, выяснилось при первом же бета тесте программы, и сразу появилась эта тема.


Хорошо, мы выяснили, что UserResult == Result не работает и работать не будет в данном случае, я убедился в этом уже неоднократно и поэтому начал эту тему.

Теперь, когда мы имеем эти точные данные,
что в цифровом мире чисел с плавающей точкой
UserResult не будет никогда == Result , потому что
нет алгоритма обеспечивающего равенство
,возникает вопрос, как реализовать возможность сравнения данных? Есть какие нибудь библиотеки? Книги про это? Статьи? Я имею ввиду не математические(по крайней мере не только), а именно статьи про программирование подобных ситуаций, или уже готовые библиотеки, способные решить проблемы с UserResult не будет никогда == Result.

Заранее благодарю за информацию...
0
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
28.07.2018, 12:06
Цитата Сообщение от txtbit Посмотреть сообщение
как реализовать возможность сравнения данных?
Начни с Создание класса дробей

Добавлено через 1 минуту
Потом в качестве класса числителя и знаменателя прикрути большие числа.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
28.07.2018, 12:29
Цитата Сообщение от txtbit Посмотреть сообщение
,возникает вопрос, как реализовать возможность сравнения данных?
Принято делать так, так как я уже говорил. Самый простой вариант: набрать в Гугле:
сравнение чисел с плавающей точкой на равенство с++
хотя C++ как таковой тут не обязателен, но коль скоро мы в этом разделе, то сузить реализации можно. Для удобства.
Итак, вы получаете кучу ссылок и сразу попадаете к нам. Вот сюда, например.
Проверить на равенство два числа типа double
Добавлю от себя, что оптимальный выбор эпсилон, не тривиальная задача, если вы считаете какой-то ряд, например, или крутите дихотомический алгоритм.
0
87 / 87 / 18
Регистрация: 11.06.2018
Сообщений: 302
28.07.2018, 12:57
удалено
0
Evg
28.07.2018, 14:55

Не по теме:

Цитата Сообщение от IGPIGP Посмотреть сообщение
Самый простой вариант: набрать в Гугле:
сравнение чисел с плавающей точкой на равенство с++
...
Итак, вы получаете кучу ссылок и сразу попадаете к нам. Вот сюда, например
Строго говоря, это не совсем так. Результаты поиска, которые в гугле получит человек, постоянно тусующийся на киберфоруме и человек, который на нём никогда не был, будут отличаться. Поэтому если конкретно ты что-то увидел в гугле в первой строке, то другой человек может это увидеть только на 30-й странице

0
28.07.2018, 15:00

Не по теме:

Evg, вы преувеличиваете. Вторая ссылка сверху через браузер, с которого на ресурс не заходил. Другое дело: какой регион выбран (страна).

0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
28.07.2018, 15:00
Цитата Сообщение от txtbit Посмотреть сообщение
UserResult не будет никогда == Result , потому что
смотри есть число Пи чему оно равно?
один скажет 3.14, другой 3.1415926, третий вообще приведет сто знаков после запятой, и все это число Пи,
но данные не равны между собой
есть погрешность измерения и есть погрешность расчетов
в бытность мою студентом я чуть не завалил курсовую
расчет импульсного источника питания, там кругом используется корень из двух
преподаватель проверил ответ не сходится, ответственно " не зачет"
сели вместе стали разбираться, " эта формула правильна?" "правильно", "а это?" "правильно", "методика?" "правильна"
а ответ не сходится
оказалось что в расчетах он использовал корень из двух равным 1.41, а я, решивши выпендрится, 1.4142156
в итоге набежала колоссальная ошибка
вот тогда я и понял основной закон метрологии, точность вычислений должна быть равна точности измерений
если меряешь диаметр в метрах, не надо длину окружности вычислять с точностью до миллиметров
Цитата Сообщение от txtbit Посмотреть сообщение
возникает вопрос, как реализовать возможность сравнения данных?
давно уже используется методика с учетом точности(дельта) вычесть одно значение из другого если разность меньше дельты то числа равны
на Си это выглядит так
C++
1
if(abs(UserResult - Result)<delta)
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
28.07.2018, 15:12
Цитата Сообщение от txtbit Посмотреть сообщение
Все это я понял уже дважды... Вопрос, что с этим делать? Есть ли решения, чтоб итоговое число с исходным совпадало? И какие, если таковые есть...
Не пользоваться экспоненциальной записью с десятичным порядком величин. Числа обрабатываются в форме мантисса*2^экспонента? Вот в таком формате их и вводите. Как минимум проблемы ввода-вывода это устранит (при вычислениях ошибки округления никуда не денутся). Но тогда вы будете жаловаться что читать-писать неудобно.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
28.07.2018, 18:54

Не по теме:

Цитата Сообщение от Evg Посмотреть сообщение
Строго говоря, это не совсем так. Результаты поиска, которые в гугле получит человек, постоянно тусующийся на киберфоруме и человек, который на нём никогда не был, будут отличаться. Поэтому если конкретно ты что-то увидел в гугле в первой строке, то другой человек может это увидеть только на 30-й странице
Согласен. Это много от чего зависит. Сам путь даст какие-то ссылки, всё равно и для погружения в проблематику нужно много чего пересмотреть. В частности, я не утверждал, что предложенная ссылка даст исчерпываюий или безукоризненный ответ. Там двое участников предложили по варианту. И первый - хитрее, как математик. Жаль пропал, куда-то. :(




Добавлено через 10 минут
Цитата Сообщение от ValeryS Посмотреть сообщение
смотри есть число Пи чему оно равно?
один скажет 3.14, другой 3.1415926, третий вообще приведет сто знаков после запятой, и все это число Пи,
но данные не равны между собой
есть погрешность измерения и есть погрешность расчетов
ValeryS, это ещё пол беды. Однако повторение расчёта на одной и той же системе всегда воспоизводит один и тот же результат. А вот повторение расчёта в математическом смысле не всегда воспроизводимо. То есть a+b+c != a+c+b .
Это не вызовет у детей интузиазма. Наоборот. Подозрение, что взрослые обманывают, перерастёт в уверенность и с этим потом придётся бороться совершая подвиги откровенного бескорыстия и сокровенной добродетели. А наша школа, в массе своей не готова к таким потрясениям.
0
Evg
28.07.2018, 18:58

Не по теме:

Цитата Сообщение от IGPIGP Посмотреть сообщение
А вот повторение расчёта в математическом смысле не всегда воспроизводимо. То есть a+b+c != a+c+b
А можешь привести пример? А то я что-то мысль не уловил

0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
28.07.2018, 19:55
Цитата Сообщение от Evg Посмотреть сообщение
А можешь привести пример? А то я что-то мысль не уловил
https://www.cyberforum.ru/cgi-bin/latex.cgi?Result =1 + (1^{-20}) -1 =  0

https://www.cyberforum.ru/cgi-bin/latex.cgi?Result =1 - 1 + (1^{-20})=1^{-20}

это есть в блоге куда я показывал.
https://www.cyberforum.ru/blog... g3523.html
Внизу есть пункт, который начинается с
Теперь о таких вещах как точность, надёжность и сочетательность (ассоциативность).
Там описание калькулятора (генератора LaTeX) где говорится о фиче для самых младших. Научных сотрудников, в смысле. Там есть алгоритм выбора вычислительной последовательности и AST вьюер, которые позволяют не только получить самый полный по значимости результат. Оно позволяет проанализировать вычислительную схему для заданого диапазона значений (или выделить набор схем для своих диапазонов), которая может пригодиться для повышения точности научных расчётов или повышения их устойчивости. А может и не только научных. Для расчётов сумм по тарифам за отгруженный ресурс (электроэнергия, например) расчёты ведутся в числах с плавающей точкой. Теперь остаётся догадаться, а использует ли кто-то неоднозначность вычислений? Речь идёт не о каких-то там околоземных орбитах астероидов или мегатоннах каких-то там эквивалентов. Тут же о дЕньгах речь.
0
Evg
28.07.2018, 20:07

Не по теме:

А... ты про это... Просто фраза "повторение рассчёта .... не всегда воспроизводимо" по моим понятиям означает немного другое. Т.е. тут вопрос неточной формулировки

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.07.2018, 20:07

Каков принцип работы парсера?
Здравствуйте! Можете какой нибудь парсер объяснить? Именно как он работает, можно даже продемонстрировать код с комментариями, буду очень...

Aspnet_regsql: каков принцип работы
Вопрос такого плана - пытаюсь добавить таблички с пользователями с помощью этой утилиты - если добавляю в БД на сервере то добавляется, но...

GZipstream - каков принцип многопоточного сжатия/распаковки?
Добрый день! Интересует тема сходная с https://www.cyberforum.ru/csharp-beginners/thread921121.html. Организовал многопоточное сжатие,...

Каков принцип работы клиент-серверного приложения
Структура прилажения такая: Клиент весит и ждет пока сервер пришлет текст, сервер отсылает клиенту текст, клиент записывает текст в...

Каков принцип работы самого простого web crawler?
Здравствуйте! Каков принцип работы самого простого web crawler? В Интернете нашел несколько вариантов: нужно сохранить все ссылки сайта,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Транслитерация текста с кириллицы на латиницу
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru