2010-09-06 18 views
39

Ben aşağıda numaralarının listesi var:C de onaltılık sayılar nasıl görüntülenir?

0, 16, 32, 48 ... Ben gibi onaltılı çıkışına bu sayıları ihtiyaç

:

0000 , 0010,0020,0030,0040 ...

denedim çözüm gibi:

printf("%.4x",a); // where a is an integer 

ama var sonucudur:

, 0001, 0002, 0004 0003 ...

ben orada yakın olduğumu düşünüyorum. , printf, ile çok iyi olmadığım için yardımcı olabilir.

+5

printf'yi deneyin ("% d:% .4x \ n", a, a) ', bence sizin a'nızın sahip olduğunuz değere sahip olmadığını unutmayın. –

+0

evet, haklısınız. Ben farkında değildi. Bu aptalca soru için üzgünüm ... – root

cevap

86

Dene:

printf("%04x",a); 
  • 0 - Sol-pedleri sıfır ile numarası (0) yerine doldurma belirtilen alanlar,.
  • 4 (genişlik) - Yazdırılacak minimum karakter sayısı. Yazdırılacak değeri bu sayıdan daha kısasa, bu genişlik ile bu genişlikte, numaralı pedde ped karakteriyle sağa yaslanarak doğrulanır. Varsayılan olarak bu boş bir alan, ancak kullandığımız önde gelen sıfır, pad karakter olarak sıfır belirtir. Sonuç, sonuç büyük olsa bile kesilmez.
  • x - Onaltılık için belirtici tam sayı.

Daha here

+0

sonuçları: 0000, 0001, 0002, 0003, 0004 ... ihtiyacım olan şey: 0000,0010,0020,0030,0040 ... – root

+0

Benim için çalışıyor. http://www.ideone.com/2VzY1 – codaddict

+0

hmm, ne kadar tuhaf ... Denedim ama her zaman 0000, 0001, 0002, 0003, 0004 olarak gösteriyorum (Ubuntu'da Eclipse kullanıyorum, gcc ...) – root

0

Kodunuz sorunu yok. İstediğiniz şekilde yazdırır. Alternatif olarak, bunu yapabilirsiniz:

printf("%04x",a); 
4

i bu gibi kullanmak:

printf("my number is 0x%02X\n",number); 
// output: my number is 0x4A 

Sadece sayı "2" Sen yazdırmak istediğiniz karakter herhangi bir sayıda değiştirmek;)

0

yapabilirsiniz sıfır ped ile 4 yerlerde

#include<stdio.h> 
int main(int argc, char *argv[]){ 
    unsigned int i; 
    printf("decimal hexadecimal\n"); 
    for (i = 0; i <= 256; i+=16) 
     printf("%04d  0x%04X\n", i, i); 
    return 0; 
} 

hem ondalık ve onaltılık sayılar yazdırır: aşağıdaki ufak kod parçasını kullanmak ding.