Υπάρχει μετατροπέας printf για εκτύπωση σε δυαδική μορφή;

Μπορώ να εκτυπώσω με την printf ως δεκαεξαδικό ή οκταδικό αριθμό. Υπάρχει μια ετικέτα μορφής για να εκτυπώσω ως δυαδική ή αυθαίρετη βάση;

Εκτελώ gcc.

printf("%d %x %o\n", 10, 10, 10); //prints "10 A 12\n"
print("%b\n", 10); // prints "%b\n"

Ορισμένοι χρόνοι εκτέλεσης υποστηρίζουν το "%b" αν και αυτό δεν αποτελεί πρότυπο.

Δείτε επίσης εδώ για μια ενδιαφέρουσα συζήτηση:

http://bytes.com/forum/thread591027.html

HTH

Σχόλια (1)

Δεν υπάρχει καμία συνάρτηση μορφοποίησης στην τυπική βιβλιοθήκη της C για την έξοδο δυαδικών αρχείων με αυτόν τον τρόπο. Όλες οι λειτουργίες μορφοποίησης που υποστηρίζει η οικογένεια printf στοχεύουν σε κείμενο αναγνώσιμο από τον άνθρωπο.

Σχόλια (0)

Δεν υπάρχει τυποποιημένος και φορητός τρόπος.

Ορισμένες υλοποιήσεις παρέχουν itoa(), αλλά δεν πρόκειται να υπάρχει στις περισσότερες, και έχει μια κάπως άθλια διεπαφή. Αλλά ο κώδικας βρίσκεται πίσω από τον σύνδεσμο και θα σας επιτρέψει να υλοποιήσετε τον δικό σας μορφοποιητή αρκετά εύκολα.

Σχόλια (0)