|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
14.02.2020, 14:57 | #1 | |
Как организовать логические операции над вещественными числами?
Регистрация: 18.11.2019
Сообщений: 1,522
|
||
Просмотров: 5273
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Offtop: Переводи в двоичную систему и смотри, что и как получается
0 = 0 => !0 = 1 1 = 1 => !1 = 0 2 = 10 => !2 = 1 3 = 11 => !3 = 0 4 = 100 => !4 = 3 Ну и т.д. )))
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Ну зачем так-то, да мучиться с проверками? Во всех системах программирования давно имеются элементы ввода, просто не позволяющие ввести неверные значения. Это и маски ввода, и списки выбора, и "спины". Их применение гарантирует получение только допустимых данных.
Если же два размера надо, то надо и одновременно два элемента использовать, а не последовательно. Что касается сравнения вещественных чисел, хоть друг с другом, хоть с "истиной", то обычный путь - преобразование чисел в строки с заданным количеством десятичных знаков и сравнение уже строк. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,049
|
|
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
И есть еще много факторов для вещественных чисел, зависящих и от среды программирования и даже от процессора. Да еще и сюрпризы от Microsoft. Вот статья Неочевидные особенности вещественных чисел с обзором для Delphi. В других средах что-то подобное. И, чтобы не напрягать свои мозги каждый раз, надо просто иметь библиотечные функции для сравнения. Да они давно сделаны. |
|||
|
||||
Регистрация: 18.11.2019
Сообщений: 1,522
|
Цитата:
Я пишу свой язык. Он нетипизированный, т.е. в нем не разделяются целые и вещественные числа. А логические операции нужно как-то описывать. Обычно ноль - FALSE, не ноль - TRUE. В моем случае, склоняюсь, что если число отрицательное и ноль - должно быть FALSE. В этом случае OR сложнее описывается (простой суммой не обойтись). Если одно из чисел положительное - его и возвращает. или OR - просто возврат максимального значения из двух чисел, это более близко реальности. т.е. X OR Y эквивалентно MAX(X,Y) , где MAX - функция, возвращающая максимум из двух чисел. Пустая переменная, видимо, тоже должна квалифицироваться как FALSE. Последний раз редактировалось nickname2019, 21.02.2020 в 10:18. |
|||
|
||||
Регистрация: 18.11.2019
Сообщений: 1,522
|
Выглядит примерно как в посте #6. Компилятор на c++. Название языка пока не придумал.
Может #Glagol назову. Только "Глагол" в русской транскрипции один псих (в хорошем смысле) для языка программирования уже забронировал (он в нем все операторы на русском сделал, очень странно выглядит). |
|||
|
||||
Регистрация: 05.08.2008
Сообщений: 823
|
как-то интуитивно непонятно у вас получится. если булевы операции, то должны быть булевы операции. а у вас отрицательное число это false получается
----- добавлено через ~2 мин. ----- ну вот американцы вот так вот на своем языке все ключевые слова и видят. ничего, живут как-то. а вообще к такому языку на русском ИДЭ добавить и все школоло перейдут с паскаля на него |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Был уже такой язык. "Ершик" назывался по фамилии создателя. Официально "Русский алгоритмический язык". Отбивал у школоты желание заниматься "информатикой". Последний раз редактировалось ShaggyDoc, 21.02.2020 в 10:44. |
|||
|
||||
Регистрация: 18.11.2019
Сообщений: 1,522
|
Цитата:
Просто есть задача описать основные булевые операции для нетипизированных переменных (на самом деле - double) примерно в том виде, как в нормальном языке, чтобы выглядело и работало стандартно. Цитата:
----- добавлено через ~2 мин. ----- Да, сравнение реальных чисел нужно делать с учетом допуска вычислений. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Offtop: Вариант русского языка программирования, кажется, в 1С реализован. Выглядело действительно дико.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 05.08.2008
Сообщений: 823
|
Цитата:
а что это такое? не инициализированная? |
|||
|
||||
Регистрация: 18.11.2019
Сообщений: 1,522
|
Цитата:
Цитата:
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Возможно ли организовать деформационный шов в существующей фундаментной плите | Igor1985 | Основания и фундаменты | 15 | 08.11.2016 15:52 |
Как в Solidworks скрыть/неотображать отдельные операции. Трубопровод. | vamesc | SolidWorks | 3 | 08.10.2014 19:03 |
Возможны ли булевы операции над сетями? | Tannik | AutoCAD | 6 | 14.02.2011 13:38 |
Как пристроить вплотную новую несущую стену к старой и при этом организовать фундамент | Lexa | Основания и фундаменты | 4 | 05.10.2009 11:03 |
Как организовать уловие функцией if? | Kostinok | Программирование | 6 | 30.07.2008 10:07 |