Anonim kullanıcı
Daha
C'de onaltılık bir dizeyi verimli bir şekilde tamsayıya dönüştürmek?
C'de, onaltılık rakamlardan oluşan bir dizeyi ikili işaretsiz int
veya işaretsiz long
a dönüştürmenin en etkili yolu nedir?
Örneğin, 0xFFFFFFFE
değerine sahipsem, base10 değeri 4294967294
olan bir int
istiyorum.
23
3
Siz
strtol
veyastrtoul
istiyorsunuz. Ayrıca bakınız Unix man pageBunu dene:
@Eric
Çözümünüzün gerçekten oylanmaması gerektiğini düşünüyorum, ancak bunun neden olduğuna dair tahminim, daha az pratik olması. Oylama ile ilgili fikir, "en iyi" cevabın en üste çıkacağıdır ve cevabınız kaputun altında ne olduğu hakkında daha öğretici olsa da (veya bunun olabileceği bir yol), kesinlikle bir üretim sisteminde onaltılık sayıları ayrıştırmanın en iyi yolu değildir.
Tekrar ediyorum, cevabınızda eğitim açısından yanlış bir şey olduğunu düşünmüyorum ve kesinlikle olumsuz oy kullanmazdım (ve kullanmadım). Bazı insanlar cevaplarınızdan birini beğenmedi diye cesaretiniz kırılmasın ve paylaşım yapmayı bırakmayın. Olur böyle şeyler.
Cevabımın sizinkinin oylanması konusunda sizi daha iyi hissettireceğinden şüpheliyim, ancak bir şeyin neden oylandığını sorduğunuzda ve kimse cevap vermediğinde özellikle eğlenceli olmadığını biliyorum.