Ú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!
- Lenovo ThinkPad P15 Gen 1 Tervező Vágó Laptop -50% 15,6" i7-10750H 16/512 QUADRO T1000 4GB
- Lenovo ThinkPad P15 Gen 1 Tervező Vágó Laptop -50% 15,6" i7-10750H 16/512 QUADRO T1000 4GB
- Boya BY M1/AV Jefe TCM-100 lavalier mikrofonok
- Mantona Luis Retro kamera hátizsák fekete
- 2db Sony 128GB Uhs-II/U3/V90 és 1db Kingston 256GB Uhs-II/C10/V90
- Lenovo Thinkpad Tablet X1 Gen 3
- HIBÁTLAN iPhone 13 Pro 128GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3750, 100% Akkumulátor
- GYÖNYÖRŰ iPhone 12 mini 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3878, 100% Akksi
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- Dell Precision 7560 - Intel Core i9-11950H RTX A4000 32GB 1TB SSD FHD
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
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.
.
