Tapahtuuko se jotenkin sprintf - käskyn avulla?
Desimaaliluvut heksadesimaaliluvuiksi
6
1482
Vastaukset
- ...
sprintf("%h",22)?
- jopa itoalla
en tiedä miten toimii floateilla mutta kokonaisluvuilla voi käyttää itoaa.
char str[80];
int numero;
printf("luku %s",itoa(numero,str,2)); // tulostaa binäärinä, kantaluku 2
printf("luku %s",itoa(numero,str,10)); // tulostaa normaalisti
printf("luku %s",itoa(numero,str,16)); // tulostaa heksana- perliä olisi
Aloittaja olisi halunnut varmaan perl esimerkin. Sorry.
Seuraava esimerkki toimii UNIX -komentoriviltä. Tuo $n=6 tarkoittaa lukua joka muunnetaan desimaaliluvuksi. Pienin muutoksin rivi toimii myös ohjelmatiedoston osana.
#perl -e '$n=6;$b=chr(int($n/16) 48);$b=~tr/:;?/A-F/;$a=chr(($n) 48);$a=~tr/:;?/A-F/;print "$b$a \n";'
#Ylläoleva rivi muuttaa desimaaliluvun (välillä 0-255) heksadesimaaliluvuksi ja lisää tarvittaessa etunollan.
Toisinpäin juttu olisi varsin helppo:
print hex(FF);
tulostuu:
255printf '%X', 62; # Tulostaa '3E'.
printf '%x', 62; # Tulostaa '3e'.
http://perldoc.perl.org/functions/sprintf.htmlWhitelighter kirjoitti:
printf '%X', 62; # Tulostaa '3E'.
printf '%x', 62; # Tulostaa '3e'.
http://perldoc.perl.org/functions/sprintf.html#!/usr/bin/perl -w
$a=3;
$a=sprintf '% X',$a; #muutetaan $a hex-luvuksi
$a=~s/^.$/0$a/; #jos $a on yksimerkkinen, lisätään alkuun nolla.
print "$a\n";
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Mitäs peitsarissa on tapahtunut eilen illalla
Mikkelissä iso poliisioperaatio https://www.iltalehti.fi/kotimaa/a/39ef020c-2d81-4d72-b720-651f458ba3e2942563- 196980
- 55772
Sofia teki aika pahat oharit
Leikkiikö Sofia kansainvälistä kosmopoliittia vai menikö rehdisti pupu pöksyyn, kun perui viestillä tulonsa puoli tunti119682- 49572
Havaintoja ihmisen ulosteesta lenkkeilypoluilla
Oletteko havainneet ihmisen ulostetta taajamaa kiertävillä lenkkeilypoluilla?15516- 49503
Peräännytkö nainen vai mitä sanot
Jos sanon sulle että rakastan sua? Suututko oletko vihainen vai olisiko tunteet molemminpuolisia?52494- 55475
- 40464