Περισσότερα
Υπάρχει μετατροπέας printf για εκτύπωση σε δυαδική μορφή;
Μπορώ να εκτυπώσω με την printf ως δεκαεξαδικό ή οκταδικό αριθμό. Υπάρχει μια ετικέτα μορφής για να εκτυπώσω ως δυαδική ή αυθαίρετη βάση;
Εκτελώ gcc.
printf("%d %x %o\n", 10, 10, 10); //prints "10 A 12\n"
print("%b\n", 10); // prints "%b\n"
400
3
Ορισμένοι χρόνοι εκτέλεσης υποστηρίζουν το "%b" αν και αυτό δεν αποτελεί πρότυπο.
Δείτε επίσης εδώ για μια ενδιαφέρουσα συζήτηση:
http://bytes.com/forum/thread591027.html
HTH
Δεν υπάρχει καμία συνάρτηση μορφοποίησης στην τυπική βιβλιοθήκη της C για την έξοδο δυαδικών αρχείων με αυτόν τον τρόπο. Όλες οι λειτουργίες μορφοποίησης που υποστηρίζει η οικογένεια printf στοχεύουν σε κείμενο αναγνώσιμο από τον άνθρωπο.
Δεν υπάρχει τυποποιημένος και φορητός τρόπος.
Ορισμένες υλοποιήσεις παρέχουν itoa(), αλλά δεν πρόκειται να υπάρχει στις περισσότερες, και έχει μια κάπως άθλια διεπαφή. Αλλά ο κώδικας βρίσκεται πίσω από τον σύνδεσμο και θα σας επιτρέψει να υλοποιήσετε τον δικό σας μορφοποιητή αρκετά εύκολα.