Hızlı taban dönüşümü?

frekans50

⁵⁰
Katılım
8 Ekim 2022
Mesajlar
1,445
İşlemler mcu hafızasında yapılacak. Süre kritik

8 tabanında 3 basamaklı sayımız olsun
10luk tabana çevirmek kolay.

Basamak rakamlarını 1, 8, 64 ile çarparak topluyoruz. 2 nin katları olduğu için çarpma işlemi sola kaydırmak suretiyle yapılır.

Fakat 9 luk tabandaki sayıyı hızlıca çevirmek nasıl olacak? Kaydırmak olmuyor. 9 kuvvetini alarak nasıl çarpacağız? 8 haneli 9 tabanında sayı çevrilecek olsa.. süre çok uzar. Mcu zayıf. Çarpma işlemlerini sevmiyor.

Bu işin oluru nedir?

Screenshot_20241027_192406.jpg


Claude.AI bildiğimiz formülü hesaplayan kod çıkardı. Daha hızlısı gerekli.

9luk taban şart. Gizli proje : )
 
Son düzenleme:
Bu isin oluru yok.

2, 4, 8 gibi tabanlar ikili sistemde kolay islenir ama 9 icin yok.

Fakat lookup table ile 9un kuvvetlerini hazirda tutup bir miktar kolaylik saglayabilirsin.

Hatta 9un kuvvetlerinin 0...8 ile carpilmis sonuclarini saklamak da isleri cok hizlandirir.

Geriye sadece toplama isi kalir.
 
Son düzenleme:
0, 9, 18, 27, 36,45, 54, 63, 72
0, 81, 162, 243 ...... 648

123 9 lu sayisini 10'luya cevirelim.

1*9^2 + 2*9^1 + 3

Tablodan 81+ 18 + 3 =102 buluruz.

9lu sayinin basamak sayisi kac olursa olsun tabloda veriler cok fazla yer tutmayacaktir.
 
:tamam1
Kod:
// 0..8 rakamlarin 9un kuvvetiyle çarpılmış hali
__code uint16_t kuvvet1[9] = {0, 9, 18, 27, 36, 45, 54, 63, 72};
__code uint16_t kuvvet2[9] = {0, 81, 162, 243, 324, 405, 486, 567, 648};
__code uint16_t kuvvet3[9] = {0, 729, 1458, 2187, 2916, 3645, 4374, 5103, 5832};
__code uint16_t kuvvet4[9] = {0, 6561, 13122, 19683, 26244, 32805, 39366, 45927, 52488};


....

sayi10luk = basamak0 + kuvvet1[basamak1]+ kuvvet2[basamak2]+...
 
Son düzenleme:

Forum istatistikleri

Konular
8,391
Mesajlar
137,798
Üyeler
3,321
Son üye
osarbusa

Son kaynaklar

Son profil mesajları

mechanic ayhanarican mechanic wrote on ayhanarican's profile.
https://www.allmystery.de almanca biliyorsan burada araştır. Yapay zekada çeviriyor gerçi.
Almanların matematik bilgisi daha iyi oluyor.
“Kendi yolunu çizen kişi, kimsenin izinden gitmez.” – Nietzsche
Kim İslâm’da güzel bir çığır açarsa (güzel bir alışkanlık başlatırsa), onun sevabı ve kendisinden sonra ona uyanların sevapları, onların sevaplarından hiçbir şey eksilmeksizin ona da yazılır.
erdemtr55 taydin erdemtr55 wrote on taydin's profile.
Merhaba Taydin bey,
Gruba spms serisi yapıcak mısınız?
ben 3 sargılı toroid ile 2 adet flyback sürücek bir devre yapmayı düşünüyorum.size soracak sorularım vardı?
Mutluluğun resmi illa güzel çizilmiş tablo olmak zorunda değil.Bazen basit bir çizgi,doğru bir renk,yada küçük bir detay
Back
Top