21

Re: Непрактичне

Перенесу сюди, щоб не загубилось:

Швидкість світла, згідно з сучасним визначенням, становить рівно 299 792 458 м/с. Це ціле число, з якого (та тривалості секунди) визначається довжина метра.

Прихований текст

Якщо розкласти це число як добуток простих чисел, отримаємо 2*7*73*293 339. Далі, перемноживши 2*7*73, отримуємо число 1022 (яке відрізняється від тисячі майже так само, як кібібайт від кілобайта). Отже, візьмімо 1022м і назвімо це «кілюметр» (від «кілометр» і лат. lumen — світло), скоречно — 1клм.

Переваги кілюметра перед кілометром та метром:
1) Шлях, який проходить світло за 1с, можна розкласти на ціле число кілюметрів (а також і метрів, але не кілометрів).
2) Запам'ятати кількість кілюметрів у світловій секунді — а це 293339клм — простіше, ніж кількість метрів. «Два, дев'ять, три трійки, дев'ять» — шість цифр, що утворюють досить мнемонічну послідовність.
3) Перетворення між частотою радіохвилі в герцах та довжиною в кілюметрах також відносно просте (якщо кілометровий чи, тепер, кілюметровий діапазон досі актуальний).
4) Це чудовий спосіб помститися стандартизаторам за метричні кілобайти :)

22 Востаннє редагувалося P.Y. (28.09.2021 07:44:55)

Re: Непрактичне

Перевірка подільності (продовження).
Трохи коду (APL):

fadd←{10>⍵-res←⍺×⌊⍵÷⍺:res⋄⍬}¨
fsub←{10>-⍵-res←⍺×⌈⍵÷⍺:res⋄⍬}¨
fall←(∊(fadd,fsub))

{⎕←⍵ ':' (⍵fall,100 1000∘.×1+⍳10)⋄⍬}¨23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

А ось так виглядає результат роботи:

⍝ 23 :  92 299 391 598 897 4991 6992 8993 207 506 805 2001 4002 6003 8004 10005
⍝ 29 :  493 696 899 203 406 609 2001 4002 6003 8004 10005
⍝ 31 :  93 496 899 992 992 3999 4991 7998 403 806 3007 7006
⍝ 37 :  296 592 999 999 1998 2997 3996 4995 5994 6993 7992 8991 407 703
⍝ 41 :  492 697 2993 7995 205 902 2009 5002 10004
⍝ 43 :  3999 7998 301 602 903 7009
⍝ 47 :  94 799 893 3995 705 3008 7003
⍝ 53 :  795 6996 106 901 1007 1007 8003
⍝ 59 :  295 708 1003 1003 2006 3009
⍝ 61 :  793 7991 305 5002 10004
⍝ 67 :  201 402 603 804 1005 1005
⍝ 71 :  497 994 994
⍝ 73 :  292 2993 803 7008 10001
⍝ 79 :  395 3002 6004 9006
⍝ 83 :  498 996 996 1992
⍝ 89 :  801 4005
⍝ 97 :  97 194 291 9991 3007
Результати для інших чисел
⍝ 101 :  9999 101 202 303 404 505 606 707 808 909
⍝ 103 :  9991 103 206 309 7004
⍝ 107 :  2996 5992 107
⍝ 109 :  5995 109
⍝ 113 :  791 904 7006
⍝ 127 :  508 8001
⍝ 131 :  393 7991
⍝ 137 :  10001
⍝ 139 :  695 5004 10008
⍝ 149 :  298 596 894 7003
⍝ 151 :  302 604 906 8003
⍝ 157 :  8007
⍝ 163 :  7009
⍝ 167 :  501 1002 1002 2004 3006 4008
⍝ 173 :  692 8996
⍝ 179 :  895
⍝ 181 :  1991 905
⍝ 191 :  191
⍝ 193 :  193
⍝ 197 :  197 394 591
⍝ 199 :  199 398 597 796 995 995

Для степенів простих чисел:

⍝ 64 :  192 896 4992 8000 704 3008 8000
⍝ 128 :  896 4992

⍝ 121 :  3993 605 30008
⍝ 169 :  59995 507
⍝ 289 :  49997 99994
⍝ 361 :  99997
⍝ 529 :  8993

⍝ 27 :  297 594 891 999 999 1998 2997 3996 4995 5994 6993 7992 8991 108 405 702
⍝ 81 :  891 2997 5994 8991 405
⍝ 243 :  8991
⍝ 
⍝ 121 :  3993 605 30008
⍝ 1331 :  3993

Що це таке, і як його використовувати. Ліворуч від двокрапки — число, подільність на яке ми хочемо перевірити. Праворуч — допоміжні числа, будь-яке з яких можна взяти за основу правила перевірки подільності.

Якщо допоміжне число містить посередині дев'ятки, знаходимо найближче кругле число, більше за нього (напр., для 493 найближче кругле число — 500). 493+7=500, з чого можна зробити перетворення з додаванням:

while n>=500 do n:= (n div 500)*7 + (n mod 500);

Якщо допоміжне число містить посередині нулі, знаходимо найближче кругле число, менше за нього (напр., для 203 найближче кругле число — 200). 203-3=200, з чого можна зробити перетворення з відніманням:

while n>=200 do n:= abs((n div 200)*3 - (n mod 200));

Обидва перетворення в цих прикладах можна використати при перевірці подільності на 29: якщо число n після такого перетворення ділиться на 29, то початкове n теж ділиться на 29, і навпаки.

У цих прикладах робиться ділення не на степінь десяти, а на число з однією ненульовою цифрою — це дещо складніша операція, яку, проте, виконувати легше, ніж ділення безпосередньо на 29, котре містить вже дві ненульові цифри. Тоді як ділення на 200, 5000 чи 70 вимагає приблизно таких же зусиль, як і ділення на 2, 5 чи 7.

Приклад: перевірка подільності 123456 на 29, для чого ми використаємо «493+7=500»:
123456 => 123456 : 500 => [1234:5] 56 => [246, остача 4] 56 => 246 456 => 246*7 + 456 = 1722 + 456 = 2178
2178 => 2178 : 500 => [21:5] 78 => [4, остача 1] 78 => 4 178 => 4*7+178 = 28+178 = 206

Поділивши 206 на 29, ми побачимо, що воно не ділиться, а тому й 123456 на 29 не ділиться.

23 Востаннє редагувалося P.Y. (30.09.2021 04:24:07)

Re: Непрактичне

Колись давно вся електроніка була теплою й ламповою. Лампи являли собою колби з викачаним повітрям, де між електродів літали електрони. І хоч електроди з дротів зробити міг би кожен, виготовлення скляної колби й створення в ній вакууму дещо виходило за межі можливостей пересічного радіолюбителя — як правило, лампи купувались, а не виготовлялись власноруч.

Існують місця, де повітря викачувати непотрібно — відкритий космос, поверхні безатмосферних планет та супутників. Тобто, теоретично, апарат на Місяці може використовувати для своєї роботи безкорпусні вакуумні лампи. Якщо ми хочемо налагодити на Місяці повний цикл виробництва техніки, то, можливо, варто дивитися в бік таких ламп, які простіше виготовити, ніж напівпровідникові пристрої. І метал для електродів, і кремній для транзисторів та мікросхем можна отримати з місячного ґрунту, але електроди не вимагають глибокого очищення металу — невелика металургічна установка може вийти компактнішою, ніж обладнання для виробництва високоочищеного кремнію, і її простіше буде доправити з Землі.

Штучні супутники теж могли б працювати на безкорпусних лампах. Зараз, мабуть, це не дуже актуально — але, цікаво, в минулому, коли лампи ще не витіснились напівпровідниками, щось подібне могло використовуватись у космічній техніці? Бо просто навіщо корпус з викачаним повітрям для лампи, що працює в вакуумі?..

І наскільки глибокий вакуум потрібен для роботи електронної лампи — такий же, як у космосі в зоні орбітальних польотів, чи, може, достатньо буде й розрідження на рівні земної стратосфери? Якщо досить і такого розрідження, то, виходить, безкорпусні лампи зможуть працювати не лише на супутниках, а й, наприклад, на аеростаті, що літає на великій висоті?..

24

Re: Непрактичне

Проблема буде в електроспоживанні.

Подякували: P.Y., leofun012

25

Re: Непрактичне

Vo_Vik написав:

Проблема буде в електроспоживанні.

Мається на увазі високе енергоспоживання ламп узагалі? Чи йдеться про втрати через опір розрідженого повітря?

26 Востаннє редагувалося Vo_Vik (30.09.2021 14:31:49)

Re: Непрактичне

Взагалі. Розміри провідників в лампах більші, відповідно більші втрати на нагрівання. Хоча при більшому діаметрі ніби менший опір, але через довжину сумарний таки буде більший.

27

Re: Непрактичне

А якщо до вартості електроенергії додати вартість виготовлення (уявімо, що на цій планеті нема китайців, у яких можна все недорого придбати. Чому, власне, напівпровідникову електроніку везуть з протилежного кінця планети, а не роблять у кожному гаражі — за чим затримка?)?

28 Востаннє редагувалося ReAl (30.09.2021 21:47:52)

Re: Непрактичне

P.Y. написав:

А якщо до вартості електроенергії додати вартість виготовлення (уявімо, що на цій планеті нема китайців, у яких можна все недорого придбати. Чому, власне, напівпровідникову електроніку везуть з протилежного кінця планети, а не роблять у кожному гаражі — за чим затримка?)?

І десь вже проскакувало про хлопця, який назбирав ebay-залізяччя на те щоб зробити вдома щось на кремнії по ~2-мікронній технології.
І лампи теж не в кожному роблять, до речі, ледь знайшов це відео, а не його перезаливки на російських каналах.

https://www.youtube.com/watch?v=EzyXMEpq4qw

До речі, там в кінці показано щось таке, що якби диск був розміщений косо, то я б вважав це мініатюрною рентгенівською трубкою :-), і там таке як в гектопаскалях на індикаторі тиск при відкачуванні.

Щодо розмірів, споживання, etc, то чув на початку 1980-тих про експериментальні роботи початку 1970-тих — кількаСОТ ламп в об'ємі нинішнього смартфона. Постараюся не забути до вихідних і розписати детальніше про цю по суті інтегральну вакуумну схему.
Якшо шо — нагадуйте :-)

Подякували: 0xDADA11C7, ch0r_t, P.Y., leofun014

29 Востаннє редагувалося P.Y. (01.10.2021 15:11:29)

Re: Непрактичне

Здається, вже бачив колись це відео. Викликає питання одна деталь: на відео я не побачив викачування повітря з радіолампи — лише з «рентгенівської трубки». Чи означає це, що в колбі радіолампи лишається повітря під нормальним тиском? Але яка тоді роль цієї колби, виготовлення якої займає більшу частину виробничого процесу?

(Втім, розрідження всередині має виникнути за рахунок нагрівання й подальшого охолодження після запаювання. Але все одно, це не схоже на глибокий вакуум. Якихось матеріалів у колбі радіолампи, що поглинали б гази повітря, теж не побачив...).

30

Re: Непрактичне

P.Y. написав:

Здається, вже бачив колись це відео. Викликає питання одна деталь: на відео я не побачив викачування повітря з радіолампи — лише з «рентгенівської трубки».

Початок викачування -- внизу через гумову трубку насос.
Лампу прогрівають, щоб все вигазило, але на початку не сильно в отому кожусі.
Це вже відкачано і запаюється хвостик.

Подякували: P.Y., leofun012

31 Востаннє редагувалося ReAl (02.10.2021 00:46:42)

Re: Непрактичне

ReAl написав:

Щодо розмірів, споживання, etc, то чув на початку 1980-тих про експериментальні роботи початку 1970-тих — кількаСОТ ламп в об'ємі нинішнього смартфона. Постараюся не забути до вихідних і розписати детальніше про цю по суті інтегральну вакуумну схему.

Отже так — не знаю, це лише ідеї були, чи робилися реальні експериментальні зразки.
З точки зору фізики та технології видавалося цілком реальним і коли я вивчав всі ці вакуумні штучки, і зараз.
Але кремнієві напівпровідникові технології розвивалися дуже швидко, rad-hard напівпровідникові схеми + захист перебили цю ідею по степеню інтеграції з урахуванням стійкості до «спецфакторів». Кількість активних елементів неможливо порівнювати.

Це вакуумні пристрої, тріоди, але «лампи» до них не дуже ліпиться, бо вони не світяться — розжарення катоду нема, працюють на автоелектронній емісії.

Загальна структура на основі чогось схожого на багатошарові друковані плати, але ізолятор кераміка.
Основа — трасування катодів, можливо, на протилежному боці окрім трасування ще елементи по товстоплівковій технології.

Основа кожного катоду — кружечок (~міліметр), від нього впечена у кераміку доріжка і перехід через отвір на протилежний бік чи кружечок для основи «перехіжних отворів» на сітковий та анодний рівні.

Катод — напилений конус, на вістрі більша напруженість електричного поля і легший вихід електронів.
На основу накладається пластинка з отворами на катодах, на краю навколо отвора кільце з невеликим нависанням металу над отвором (теж якось напиленнямЮ але метал частково «налипає» і на десятки-сотню мікрон висить у отворі, як я розумію, щось схоже з сучасними MEMS-технологіями.

Це кільце є сіткою тріода, тоді ще одна товща пластинка, яка задає відстань сітка-анод і на ній відповідно напилено кружечки анодів та їхнє трасування і переходи на протилежну, верхню частину знову з товстоплівковими елементами.

Загальна товщина пиріжка ну пару міліметрів з покриттям сторін поверх товстоплівкових та дискретних (безвиводні конденсатори) шаром компаунду для ізоляції та механічного захисту. Загалом схоже на відомі тоді гібридні мікросхеми.
Якість тріодів як лінійних («аналогових») елементів невелика, але це задумувалося для цифрових схем.

Цілком можливо, що в певних умовах і з новими матеріалами/технологіями щось подібне знову стане цікавим.
Буле ж десь доволі цікава стаття з висновком, що для міжзоряного зв'язку (час власне проходження сигналу несумірно більший за час оброблення) найбільше підходять технології класу UUCP/fido

Подякували: ch0r_t, P.Y., leofun013

32

Re: Непрактичне

На тему ламп. Ось така конструкція мені придумалась: є два аноди в вигляді пластин фігурної форми, на них з катода спрямовується потік електронів в вигляді широкого променя, і ще регулюючі електроди (або регулюючі електромагніти) цей промінь відхиляють, щоб він потрапляв більше на один чи другий анод. Залежно від форми анодів, можна отримати яку-завгодно залежність струмів на виході від сигналу на вході. Наприклад, можна подібним чином реалізувати різні математичні функції для аналогових обчислень.

Я так думаю, цей велосипед давно вже винайшли до мене. Цікаво, як такий різновид ламп називається?

33 Востаннє редагувалося P.Y. (06.10.2021 20:48:00)

Re: Непрактичне

У продовження теми подільності. Усі ці методи розраховано на роботу людини з написаним на папері числом у десятковій формі. Мова програмування (така, як паскаль) працює з внутрішнім представленням числа, в якому десяткових цифр уже нема. Потрібні додаткові операції: кількість цифр у числі, цифра №i від правого чи від лівого кінця, додавання  до цифри всередині числа — всі ці дії виконуються елементарно, коли людина працює з числом сама, але для комп'ютера (якщо ми захочемо потестувати алгоритми перевірки подільності на ньому) потребують додаткового опису:

код
unit digits;

interface

type integer=-2000000000..2000000000;
function rdigit(n,i:integer):integer;
function ndigits(n:integer):integer;
function ldigit(n,i:integer):integer;
function rdigit_add(n,i,a:integer):integer;
function ldigit_add(n,i,a:integer):integer;
function min(a,b:integer):integer;
function max(a,b:integer):integer;

implementation
function rdigit(n,i:integer):integer;
        begin
        n:=abs(n);
        for i:=i downto 2 do
                n:=n div 10;
        rdigit:=n mod 10
        end;

function ndigits(n:integer):integer;
        var i:integer;
        begin
        i:=1;
        n:=abs(n);
        while n>9 do begin
                n:=n div 10;
                i:=i+1
                end;
        ndigits:=i;
        end;

function ldigit(n,i:integer):integer;
        begin
        ldigit:=rdigit(n,ndigits(n)-i+1);
        end;

function rdigit_add(n,i,a:integer):integer;
        begin
        for i:=i downto 2 do
                a:=a*10;
        rdigit_add:=n+a;
        end;

function ldigit_add(n,i,a:integer):integer;
        begin
        ldigit_add:=rdigit_add(n, ndigits(n)-i+1, a);
        end;

function min(a,b:integer):integer;
        begin
        if a<b then min:=a else min:=b;
        end;

function max(a,b:integer):integer;
        begin
        if a>b then max:=a else max:=b;
        end;
end.

ndigits(N) — кількість цифр у числі (без урахування нулів на початку)
rdigit(N,i) — i-та цифра з правого кінця числа N
ldigit(N,i) — i-та цифра з лівого кінця числа N
rdigit_add(N,i, A) — збільшити на A i-ту цифру з правого кінця числа N
ldigit_add(N,i, A)  — збільшити на A i-ту цифру з лівого кінця числа N

34 Востаннє редагувалося P.Y. (12.10.2021 06:19:23)

Re: Непрактичне

Використовуючи визначення, наведені вище, можна переписати перевірку подільності на 37 наступним чином:

while n>=1000 do
     n:=n div 1000 + n mod 1000;
n:=n-111*min(min(rdigit(n,1), rdigit(n,2)), rdigit(n,3));
if n in [0, 37, 74, 370, 740, 703, 407]
        then write ('ділиться на 37')
        else write ('не ділиться на 37')

Іншими словами, на другому етапі (коли число вже зменшено до значення в межах тисячі) треба вибрати найменшу з трьох цифр, помножити її на 111 і відняти від числа (або відняти цю найменшу цифру від кожної з трьох цифр, що те ж саме). У результаті, отримуємо число, серед трьох цифр якого є щонайменше один 0. Ця дія дозволяє скоротити кількість значень, з якими треба звірити результат: є лише сім чисел, менших за тисячу, що містять нуль (у т.ч., початковий нуль) і при цьому діляться на 37.

Подібний прийом доступний далеко не для всіх дільників: має існувати число з самих одиниць (або з одиниць і нулів), що ділиться на цей дільник. Наприклад, 41*271=11111, що можна використати для допоміжного зменшення при перевірці подільності на 41. Тобто, якщо в нас є п'ятицифрове число, можемо так само взяти найменшу його цифру й відняти від усіх цифр. Проте, користі від цього не так багато: так можна зменшити лише п'ятицифрове число (тобто, початково достатньо велике), і реальна користь буде, лише якщо найменшою є перша або остання цифра (котру, після перетворення її на нуль, можна відкинути й далі працювати з чотирицифровим числом, яке потім усе одно треба буде зменшувати, використовуючи інші прийоми). Чисел, що діляться на 41 і містять нуль, усе одно лишається забагато — такого ефекту, як у випадку 37, ми не досягнемо. З іншого боку, якщо отримане число — п'ятицифрове з нулями посередині, до його цифр можна додати 41 зі зміщенням (так, щоб четвірка стала навпроти нуля) й повторити спробу — доти, доки нуль нарешті не опиниться скраю.

Якщо число містить більше цифр, ніж нам потрібно (тобто, в випадку 41, складається з більш ніж п'яти цифр), цей же прийом можна застосувати до частини цифр (у випадку 41 — до п'яти найправіших чи п'яти найлівіших): обираємо серед них найменшу й віднімаємо від цих крайніх цифр. Якщо в результаті з'явився нуль скраю всього числа, цей нуль відкидаємо (і далі працюємо з числом, що містить на одну цифру менше), інакше додаємо зміщений дільник, подільність на який перевіряємо (тобто, 41). Таким способом можна скорочувати як-завгодно велике число, але, в випадку 41, це не дуже вигідно: простіше скористатися тим, що 99999 ділиться на 41 — а отже, можна розбити число на частини по п'ять розрядів, додати ці частини й перевірити подільність отриманої суми на 41 — це простіше, ніж прийом з відніманням найменшої цифри.

Р.Ѕ.

Алгоритм перевірки подільності на 41 у вигляді коду
uses digits;
var i,md,n,n0:integer;
begin
write('n='); readln(n); n0:=n;
while n>100000 do
    n:=(n div 100000) + (n mod 100000);
while ndigits(n)=5 do begin
    while rdigit(n,1)=0 do n:=n div 10;
    if ndigits(n)<5 then break;
    for i:=2 to 4 do
        if ldigit(n,i)=0 then
            n:=ldigit_add(n,i+1, 41);
    md:=10;
    for i:=1 to 5 do md:=min(rdigit(n,i), md);
    n:=n-11111*md;
    end;
while n>2000 do n:=abs((n div 2000)*9 - (n mod 2000));
while n>200  do n:=abs((n div 200)*5  - (n mod 200));
if n in [0,41,82, 123, 164]
        then writeln (n0, ' mod 41 = 0')
        else writeln (n0, ' mod 41 != 0')
end.

35

Re: Непрактичне

P.Y. написав:

На тему ламп. Ось така конструкція мені придумалась: є два аноди в вигляді пластин фігурної форми, на них з катода спрямовується потік електронів в вигляді широкого променя, і ще регулюючі електроди (або регулюючі електромагніти) цей промінь відхиляють, щоб він потрапляв більше на один чи другий анод. Залежно від форми анодів, можна отримати яку-завгодно залежність струмів на виході від сигналу на вході. Наприклад, можна подібним чином реалізувати різні математичні функції для аналогових обчислень.

Я так думаю, цей велосипед давно вже винайшли до мене. Цікаво, як такий різновид ламп називається?

От про таке я не чув.
Не знаю, чи була б така штука достатньо точною ≠ широкий електронний потік матиме «розмитий» край і не надто чітку форму.
Навіть якщо за сигнал брати відношення струмів двох анодів, точність може бути низька (симетрія променя не надто гарантована).
Хоча можна було б спробувати ще додаткові аноди, які забирають на себе більшу частину країв, залишаючи центральну більш рівномірну для роботи.

От стиснути промінь якомога тонко вдається легше, на тому зрештою на запам'ятовуючих трубках якийсь час була пам'ять комп'ютерів.

Геометрія електродів для отримання потрібних параметрів — аж до імпульсної характеристики дискретно-(в часі)-аналогових-(по амплітуді) фільтрів — це CCD, у якомусь сенсі родичі ламп. Але про це чомусь навіть в enwiki нема, упор на фоточутливі.

Подякували: P.Y.1

36

Re: Непрактичне

ReAl написав:

широкий електронний потік матиме «розмитий» край і не надто чітку форму.

Якої саме нечіткості слід очікувати?
Якщо це щось назразок градієнта  з піком у центрі й поступовим спадом до країв, то принаймні частину функцій без різких перепадів  можна реалізувати і з таким розподілом — просто врахувавши розмитість при пошуку форми анодів. Чи ти там щось більш хаотичне буде, де кожна подряпина на катоді даватиме світлі й темні плями на відбитку? Або й щось зовсім мерехтливе, як тінь від свічки, що змінюватиметься в часі (напр., від нерівномірного нагріву катода)?

ReAl написав:

От стиснути промінь якомога тонко вдається легше

А якщо зібрати в одній точці, за якою розфокусувати/розсіяти якимось чином? Чи форма катода проявиться й за фокусом?

Або: діяти на промінь високочастотними коливаннями, як у кінескопі, щоб він вимальовував на анодах риску чи якусь фігуру, і зміщувати вже цю фігуру. Сигнал на виході тоді треба буде додатково згладжувати, щоб давав середнє значення замість «пилки».

37

Re: Непрактичне

Цікаве питання: якщо взяти довгі бінарні числа і запрограмувати двійкові ознаки подільності, то вони обчислюватимуться ж швидше, ніж безпосереднє ділення, правильно? Тобто це не таке вже й непрактичне питання...

38

Re: Непрактичне

koala написав:

Цікаве питання: якщо взяти довгі бінарні числа і запрограмувати двійкові ознаки подільності, то вони обчислюватимуться ж швидше, ніж безпосереднє ділення, правильно? Тобто це не таке вже й непрактичне питання...

Вже колись експериментував і з двійковими. Щоправда, не з довгими. Для довгих двійкових обчислень, очевидно, потрібне або додаткове зведення всієї послідовності байтів числа до одного байту чи слова, або додаткові зсуви та переноси для вирівнювання розрядів у байті при зчитуванні. Усе довге число зсувати на нецілу кількість байтів — не дуже оптимально.

Так, теоретично, можна отримати виграш у швидкості. Але на загальнодоступному залізі ділення виконується як елементарна процесорна команда, а програмна перевірка подільності — як серія таких команд, що теж впливає на швидкість. Якщо в нас довге ділене і короткий дільник, то перевірку подільності (чи знаходження остачі, що є більш акуратним варіантом тих же алгоритмів) можна реалізувати і діленнями, і зсувами та додаваннями — треба дивитися, в якому випадку вийде швидше. Хоча, якщо зробити спеціалізоване залізо для перевірки подільності на певне число (чи, навпаки, якщо алгоритм ділення на даному процесорі доводиться робити програмно), то виграш буде.

Узагалі, слабке місце таких алгоритмів — вузька спеціалізація. Фактично, для кожного дільника робиться свій алгоритм перевірки подільності. Якщо треба постійно перевіряти подільність на один і той же дільник (чи на невелику кількість таких дільників), це має сенс. Якщо таких дільників безліч, то робити таку оптимізацію для всіх них буде накладно.

Подякували: leofun011

39

Re: Непрактичне

P.Y. написав:
ReAl написав:

широкий електронний потік матиме «розмитий» край і не надто чітку форму.

Якої саме нечіткості слід очікувати?
Якщо це щось назразок градієнта  з піком у центрі й поступовим спадом до країв, то принаймні частину функцій без різких перепадів  можна реалізувати і з таким розподілом — просто врахувавши розмитість при пошуку форми анодів. Чи ти там щось більш хаотичне буде, де кожна подряпина на катоді даватиме світлі й темні плями на відбитку? Або й щось зовсім мерехтливе, як тінь від свічки, що змінюватиметься в часі (напр., від нерівномірного нагріву катода)?

Так, спад до країв, проблема в залежності форми від анодної напруги (так, можна стабілізувати), напруги відхилення (в комбінації з анодною) і від екземпляра (розкид форми/положення пластин, неоднорідностей катоду, ...). Чогось з цього можна позбутися стабілізацією (додаткові компоненти), чогось лише індивідуальною підгонкою (погано розумію як, це вам не лазером підігнати щось на плівочках на кераміці чи на кристалі кремнію).
Тобто може бути, що таку ідею вже обдумували і вмрішили, що додаткові компоненти до цієї лампи краще витратити на інтегратори/дифференціатори або на аналогові помножувачі, а з цмх універсальних елементів набирати що потрібно.


P.Y. написав:

Або: діяти на промінь високочастотними коливаннями, як у кінескопі, щоб він вимальовував на анодах риску чи якусь фігуру, і зміщувати вже цю фігуру. Сигнал на виході тоді треба буде додатково згладжувати, щоб давав середнє значення замість «пилки».

Це цікавіше з точки зору точності, по олній координаті ВЧ-пилка, по іншій сигнал, який треба перетворити. Але потрібен фільтр після цього, щоб загладити пульсації, кожен фільтр — це додатковмй інтегратор на шляху "обчислень", який треба буде врахувати якось. Враховуючи те, що АОМ використовувалися для пошуку розв'зків диференційних чи інтегральних рівнянь...

p.s. Аналогові "обчислення" зараз знаходять дріге дихання в нейронках — у певних випадках це дешевий чіп з дуже малим споживанням для вже навченої "назавжди" мережі для масового випуску

Подякували: P.Y.1

40

Re: Непрактичне

Або простіший варіант: точковий електронний промінь, фігурна пластина одна (може мати один або декілька виводів у різних точках), зроблена з матеріалу з високим опором. Аналог реостату з нерівномірним регулюючим опором.

Можливо навіть, фігурну частину можна винести за межі колби й зробити змінною (у колбі лишається тільки довгий прямий край пластини, впаяний у її стінку). Втім, не знаю, наскільки це можливо реалізувати на колбі з реальних матеріалів. І як з'єднати зйомну частину та стаціонарну, щоб уздовж усього з'єднання опір між ними був рівномірно розподілений. Тому, мабуть, у земних умовах пластина буде незмінюваною. У космічному безкорпусному варіанті, очевидно, можна буде змінювати всю пластину. Втім, якщо в земних умовах зробити колбу розбірною і доповнити її насосом для викачування повітря, то можна буде отримати ті ж зручності, що й у космосі.

Ще одна річ, на роботу якої можна впливати геометрією — конденсатори. Якщо є фіксований електрод-пластина усередині колби, і до нього з зовнішньої сторони притуляється зйомна обкладка заданої форми... Треба подумати, як усе це працюватиме.