C: Char ascii muunnosta

Eli ongelmani on seuraavanlainen. Ajatuksenani olisi tehdä laskin järjettömän suurille luvuille. Luvut talletetaan argv[] ("taulukkoon" ;)
Ajattelin muuntaa joka luvun erikseen "luvuksi", koska char taulukossahan on talletettu ascii koodi luvun sijasta. SEn jälkeen laskisin yhteenlaskun yms. Ennen tätä lausetta olen tehnyt virheentarkituksen joka valittaa jos luku onkin kirjain ja se näyttää toimivan hyvin. Mutta onko tämä ajattelu mitä olen tässä koettanut tehdä täysi susi vai onko siinä virhe? Atoi:ta ei voi käyttää yksittäisen luvun muuttamiseen


for ( a = 0 ; a < strlen(argv[1]) ; a ){
argv[1][a] = argv[1][a] - '0';
printf("%c\n", argv[1][a]);
}
51005
Äänestä

Muut lukivat myös

Vastaukset 5

Vanhimmat

BIG INTEGER C: llä
http://www.google.fi/search?hl=fi&q=big integer c&btnG=Hae&meta=

BIGINTEGER C: llä saa kuukletettuna lisää tosin osin samoja hittejä, jotka voivat tässä tapauksessa nekin olla hyödyllisiä

Äänestä
  • Eli kysymyshän oli miten muutan yksittäisistä muistipaikoista tuon arvon. Ja että käykö se tuolla kuvaamallani tavalla. Eli yritän tässä oppia mahdollisimman paljon tämän yhden ohjelman kanssa taistellessani ja teen sen pitkällä tavalla kaiken itse että tiedän mitä mikäkin osa tekee.

    Äänestä

  • ongelmallinen kirjoitti:

    Eli kysymyshän oli miten muutan yksittäisistä muistipaikoista tuon arvon. Ja että käykö se tuolla kuvaamallani tavalla. Eli yritän tässä oppia mahdollisimman paljon tämän yhden ohjelman kanssa taistellessani ja teen sen pitkällä tavalla kaiken itse että tiedän mitä mikäkin osa tekee.

    c-ohjelmoinnista vaiko järjettömän suurista luvuista?

    Äänestä

Moi!

Ihan hyvältähän tuo idea minusta vaikuttaa. Mikäli tarkoitat argv[]:llä ohjelmalle annettavaa argumenttitaulukkoa, niin tarvinnet jonnekin muualle lisätilaa jonne sijoitat lopputuloksen..

Äänestä

Kait sen saisi suoraan muutettua, ascii arvot luvuille 0-9 on 48-57, niin vähenetämällä tuon 48 asciiluvusta joka on char talukossa saisi siitä suoraan numeron.

Äänestä

Kommentoi aloitusta


ongelmallinen kirjoitti:

Eli ongelmani on seuraavanlainen. Ajatuksenani olisi tehdä laskin järjettömän suurille luvuille. Luvut talletetaan argv[] ("taulukkoon" ;)
Ajattelin muuntaa joka luvun erikseen "luvuksi", koska char taulukossahan on talletettu ascii koodi luvun sijasta. SEn jälkeen laskisin yhteenlaskun yms. Ennen tätä lausetta olen tehnyt virheentarkituksen joka valittaa jos luku onkin kirjain ja se näyttää toimivan hyvin. Mutta onko tämä ajattelu mitä olen tässä koettanut tehdä täysi susi vai onko siinä virhe? Atoi:ta ei voi käyttää yksittäisen luvun muuttamiseen


for ( a = 0 ; a < strlen(argv[1]) ; a ){
argv[1][a] = argv[1][a] - '0';
printf("%c\n", argv[1][a]);
}

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu