Új hozzászólás Aktív témák
-
axioma
veterán
válasz
Neil Watts
#5701
üzenetére
Irsz egy BCD-s aritmetikat
De reg lattam, me'g IBM4361-nel emlegette'k... jo, javitok: a BCD az ket felbyte-on 1-1 tizes szamjegy, de utana az osszeadasa ugyanaz.
Amugy megteheted, hogy egyszerre x decimalis szamjegyet konvertalsz... osszeadsz, maradekot kepzel. Ekkor mondjuk 2^30-ba belefer 10^9, 9 szamjegyenkent egy darab egeszet tarolsz, amit nem is kell igy ascii kavarassal konvertalni, minimum masolassal (bocs, en regen hasznaltam C-t, lehet hogy kozvetlen indexek megadasaval) beolvastathatod szamkent. -
buherton
őstag
válasz
Neil Watts
#5701
üzenetére
Szia!
Jó gondolat a karaktertömb és jó a probléma felvetés! Fél siker.

Egy struktúrát használnék pl.:
typedef struct
{
char isMinus;
unsigned int len;
char *number;
} number_sA fájlban ASCII-ként van letárolva, így amikor letárolnám a struktúrámba, akkor kivonnám az offsetet és egyszerű számként tárolnám, hogy később a műveletek során már ne kelljen ezzel foglalkozni.
A műveletek kicsit összetettebbek, de valóban a papíron való számolásra érdemes visszavezetni. Amiből kindulhatsz, hogy összeadásnál a leghosszabb szám hossza vagy plusz egy lesz az összeg hossza. Kivonásnál maximum a leghosszabb szám hossza.
Amit viszont ne kövess el, hogy konstans értékeket használsz! Ha ismerkedsz még csak a nyelvvel, akkor a prototípus lehet fix számú és akkor a logikát ki lehet próbálni, de utána illik generálissá tenni. Ehhez pedig melegen ajánlom a malloc/free függvényt. A struktúrában sem véletlenül van tömb pointer
.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Kötelező frissítésnek számít a Microsoft legújabb csomagja a Windows 11-hez
- Napelem
- AliExpress tapasztalatok
- Véleményes teszt bizonygatja mennyit ér a Macbook Neo 8 GB RAM-ja
- Miskolc és környéke adok-veszek-beszélgetek
- TCL LCD és LED TV-k
- Fejhallgató erősítő és DAC topik
- Hardcore café
- Harminc százalékos áremelésnél állhat meg az Intel
- PlayStation 5
- További aktív témák...
- RX 7800 XT REFERENCIA KÁRTYA !!!
- WD SN8000S 4TB M.2 2280 NVMe SSD Gen4 7300-6800MB/s
- Intel Nuc M15 Core i5 1135G7 8Gb Ram 512Gb NVMe SSD 15,6" IPS Érintőkijelző Boltból Garanciával
- Samsung Galaxy S25 Ultra 12/512GB Fekete titán - Samsung.hu rendelés, újszerű állapot
- Apple iPhone 15 87% Akku.Újszerű,Kártyafüggetlen,Dobozos,Tartozékaival. 1 Év Garanciával!
- Apple iPhone 13 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- Dell Latitude 5490 14",FHD,i5-8350U,8GB,256GB SSD,WIN11
- Bomba ár! HP EliteBook 840 G10 - i5-1335U I 16GB I 512SSD I 14,1" WUXGA I Cam I W11 I Gar!
- Nvidia Quadro és AMD FirePro kártyák - számla, 6 hó gar.
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
De reg lattam, me'g IBM4361-nel emlegette'k... jo, javitok: a BCD az ket felbyte-on 1-1 tizes szamjegy, de utana az osszeadasa ugyanaz.
.