Tapahtuuko se jotenkin sprintf - käskyn avulla?
Desimaaliluvut heksadesimaaliluvuiksi
6
1362
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
Ootko nainen noin mustis musta
Onhan se toki imartelevaa kun olet kaunis ja kaikkea muutakin, mutta ehkä vähän kummallista, kun ei varsinaisesti olla t897239- 353831
- 453430
Kauan säkin jaksoit
Minun perässä juosta. Kunnes pahoitit mielen. Kuinka monta anteeksipyyntöä olet vailla? 🧐402572- 2092413
- 412362
- 1232256
Miksi kaipaat
Ja olet elämässäni vielä kaiken tämän jälkeen? Eikö kaikki ole jo selvää välillämme?292169Mietin tässä T....
Oletko jo kesälomalla.?Keli on ihanaa, ja sinä nautit veneilystä.... Edelleen käyt mielessä.... En ole unohtanut sinua..241888- 401829