Обновить
-7
Сергей Волощук@S_WW

Пользователь

0,2
Рейтинг
Отправить сообщение

откуда вообще в математике возникла концепция плавающей запятой?

В математике плавающей запятой никогда не было. Она появилась в вычислительной технике.

Фанатизм тоже ни к чему хорошему не приводит.

В десктопных приложениях никто такие библиотеки в здравом уме применять не будет, там используют double не задумываясь. Единственное применение подобных библиотек - это микроконтроллеры, но там заводить по 256 бит на каждую переменную - это непозволительная расточительность.

Если num всегда будет константой, то это операцию лучше делать дефайном, а ещё лучше по месту вставить ((1<<num)-1). Но наличие функции предполагает, что numможетбыть переменной. И тогда приплыли.

Библиотека хороша лишь как гимнастика ума, для практических целей применить её не получится. Хотя бы потому, что вам сразу же понадобится умножать числа с разными порядками, а здесь это не предусмотрено. Во-вторых, при таком умножении только пользователь должен решить какой должен быть порядок у результата. Т.е. чем пожертвовать: целой или дробной частью. А значит оператор для этого не годится, даже friend operator* (...). Нужна отдельная функция, в которую придётся передавать не только операнды, но и порядок результата.

constexpr uint8_t mask(uint8_t num)
{
    return (1 << num) - 1;
}

И вообще, рекурсия - это красиво, но для таких примитивных действий (в т.ч. возведение в степень) лучше её не применять. Не забывайте, что это приводит к многократному вызову функции со всеми вытекающими последствиями.

Первая картинка неправильная. С некоторых пор её стали печатать во всех учебниках физики и вообще везде, где рассказывается. Об электромагнитных волнах. Ошибка в том, что колебания электрического и магнитного полей сдвинуты на 90 градусов. А на картинке они синхронны.

ö к примеру, вместо ё

Меня это тоже всегда удивляло, пока один лингвист не объяснил, что это из-а чередования гласных. Во многих словах, содержащих ё, она превращается в е при изменении слова:
жёлтый — желтеть
щёголь — щеголять
ч
ёрт — черти
ёж — ежи
ш
ёпот — шептать

Поскольку в латинском алфавите буква J называется ЖИ, ...

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

Общепринято звук Й обозначать латинской буквой J, а в сербском языке она является равноправной буквой алфавита. Поэтому для буквы Ж придётся придумать другую.

Мы ползали, ползали, да так и не проползали. Надо перепроползать, перевыпроползать.

Когда коту делать нечего, он начинает заниматься сомнительными гигиеническими процедурами.

"Смотри что я придумал: просто нажимаешь на кнопку - и свет включается! И не надо орать «Алиса, включи свет!»"

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

Я думал автор вставил в прошивку файл ttf и использует его для вывода текста на графический дисплей - мне как раз такое надо.

Так вот и я про то же: никто не мешает компилятору иметь ДВА стека

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

К сожалению у большинства процессоров память одна и два твоих стека всё равно будут в одной памяти, а значит никто не помешает одному стеку изуродовать другой. Да и проблема эта какая-то надуманная: со стеком работает не программист, а компилятор, а он прекрасно помнит где у него переменные, а где адрес возврата.

Странно, кто-то не согласен с этим очевидным утверждением. Скажу больше: писать if (x == true) недопустимо! Потому что x может оказаться не bool, а у неё истинное значение может быть любым кроме 0.

Я видел много проблем при использовании автомобилей, включая летальные. Но это не причина чтобы не пользоваться автомобилями.

Причина ошибки в коде на картинке заключается в том, что булевские переменные не требуется сравнивать. Они же булевские! У них даже название сделано таким чтобы можно было написать if (IsCrasyMurderingRobot)

Вы наверное плохо понимаете американскую политику, раз рассуждаете так примитивно. Демократы в США - это леваки, они считают, что нужно обдирать капиталистов и за счёт них кормит убогих: негров, бедных и всех кто не хочет работать. А республиканцы считают, что каждый должен зарабатывать сам.

Шпак - украинское слово, в переводе означает скворец

Информация

В рейтинге
3 161-й
Откуда
Саратов, Саратовская обл., Россия
Зарегистрирован
Активность