csharp.janari
поиграться так скажем
Иван
Если интересно разобраться как строился компьютер
Иван
Не аналоговый
Иван
А на цифровых элементах
Иван
То очень классная книга есть, Основы цифровой электроники
csharp.janari
может пдфка есть у тебя ?)
Иван
Токхейм Р. Основы цифровой электроники
Иван
Вот так
csharp.janari
Иван
?
Нету, у меня физическая книга
Иван
Ну и потом курить мануал к микропроцессору 8086 и кодить на ассемблере )
Иван
И будешь седой как я в 20 лет
csharp.janari
а я то думаю че я начинаю седеть то, может не ту дорогу я выбрал все таки🤔
Шурок
@aovzerk
Буду
Рад
Если
Будешь
Старатьс
Передать мысль
В 1 сообщении.
Ты в обществе на 7к людей
Плодить сообщения
По 1 предложению- не круто
Иван
Мне кажется если база программирования даётся на ассемблере то это даёт сильный буст в дальнейшем
Иван
Шурок
Смотри, таймер может быть индивидуальным ;)
Иван
А так да, согласен с тобой, не буду по два слова писать в предложении
Veronica
Всем здравствуйте! С наступившим 2023 годом)
А где вы учили верстку? Можите посоветовать какие-то курсы/видео уроки?🙏
Gravity
Всем привет
Gravity
кто знает как ПК сохраняет и работает с нецелыми числами?
Иван
у тебя всегда есть остаток от деления, например если разделишь 12 на 10 то в 1 регистр попадает 1 во второй 2
Иван
но есть еще математический сопроцессор, где обычно и выполняются все операции с повышеной точностью ибо он умеет работать с плавающей точкой быстрей и точней
Иван
3 = 11b
0,14 = 0,00100011b
То есть число 3,14 в двоичном виде равно:
3,14 = 11,00100011b
Теперь преобразуем это число в нормализованную экспоненциальную форму:
11,00100011b = 1,100100011b * 2^1
Теперь рассчитаем смещённый порядок (предположим, что для хранения порядка у нас используется 5 бит). Тогда исходные данные:
ИП = 1 (у нас 2 в степени 1)
k = 5
СП = ИП + 2k-1 – 1 = 1 + 25-1 – 1 = 1 + 16 – 1 = 16
Записываем знак числа, порядок и мантиссу в соответствующие разряды:
Знак Порядок Мантисса
0 10000 0010001100
Gravity
Gravity
А если допустим я ввожу на консоль какой нибудь число
Gravity
как можно определить целое оно или вещественное?
Иван
Если типизированный язык то посмотреть к какому типу принадлежит, если принадлежит к типам double или float то вещественное
Gravity
например:
double a=12;
но тогда же у нас вроде число как бы целое
Иван
Нет, оно вещественное ибо double не спросила занимает места в памяти больше чем int
Gravity
Иван
Посмотреть на дробную часть
Andrii
В данном случае без ЯП и решаемой задачи вопрос не имеет смысла. Да, такое бывает...
Gravity
С++
Сидредин
Иван
в стандартных библиотеках есть modf
Matukevich
Andrii
С++
В C++ тип известен на стадии компиляции, потому какой тип задан в исходном тексте программы, тот и будет
Иван
в стандартных библиотеках есть modf
эта функция отделяет дробную часть от целой, просто сравни дробную часть с нулем, а если интересно понять как она это делает глянь исходники
Gravity
Иван
Gravity
Я шяс начал смотреть архитектуру пк
Gravity
думаю поможет
Иван
Иван
csharp.janari
Andrii
нет, оно себя не ведет как целое ибо оно уже изначально вещественное
Ну... если целое число помещается в мантиссу, то в общем-то оно ведёт себя почти как целое. Поэтому, если брать JS, MATLAB, то там часто ты де-факто работаешь с вещественными числами, но это достаточно прозрачно, ты используешь их при индексации элементов и не наступаешь на ошибки округления. Для double это примерно 50 бит.
Иван
Иван
Иван
если да - то это уже изначально вещественное число
Andrii
Иван
только она наоборот пишется число + exp
Иван
100 + 1e у тебя вещественное число 101,0, имено ,0 делает его вещественным и послей запятой и нескольких нулей могут быть числа (мусор)
Andrii
А если ты предлагаешь брать остаток от деления на единицу, то надо учитывать ещё и диапазон
Иван
Andrii
Иван
тебе просто компилятор нулями зафикачит область эту на харде и при выгрузке в озу так же все нули перенесутся
Иван
а с интерпретаторами +- так же, но могу ошибаться
Иван
Ну, так в чем проблема ?
Иван
Если ты говоришь что 101 double то оно вещественное, если в js то оно офк вещественное
Andrii
Понятно, что если ты попробуешь сделать
float a = 1.0f / 3.0f; и float b = a + a + a;, то ты можешь не получить единицу в силу того, что число `1/3`представляется в виде бесконечной двоичной дроби.
csharp.janari
Andrii
не знаю, самый легкий язык - возможно, после него трудно что то учить еще? Да.
Понимаешь, лёгкость понятие относительное и содержит много аспектов. Как по мне Си лёгкий язык, потому что прост как двери. И в принципе там особо нечего учить: указатели, функции, переменные, отладка, всё. Но писать на Си без достаточно сложно, потому что библиотек мало, надо много делать своими руками, много ошибок и т. п. Python уже достаточно большой язык со множеством концепций. Но писать на нём проще, потому что есть много всего готового.
csharp.janari
поэтому я и говорю, в пайтоне много готового, поэтому труднее переходить на другой яп, я не говорю что это не возможно учить что то еще после него, но это труднее чем с других яп