İşletim sistemleri hakkında bir kolej dersini takip ediyorum ve ikilikten onaltılıya, ondalıktan onaltılıya vb. + 1).
Kağıt üzerinde yapacağımız birkaç alıştırma var ve çalışmalarımı öğretmene göndermeden önce cevaplarımı doğrulamak istiyorum. İlk birkaç alıştırma için bir C ++ programı yazdım ama şimdi cevabımı aşağıdaki sorunla nasıl doğrulayabileceğim konusunda sıkışıp kaldım:
char a, b;
short c;
a = -58;
c = -315;
b = a >> 3;
ve biz ikili gösterimini göstermek gerekir bellekte arasında a
, b
ve c
.
Ben kağıt üzerinde yaptım ve bana aşağıdaki sonuçları verir (ikisinin tamamlayıcı sonra sayıların hafızasında tüm ikili sunumlar):
a = 00111010 (bir karakter, yani 1 bayt)
b = 00001000 (bir karakter, yani 1 bayt)
c = 11111110 11000101 (kısa, yani 2 bayt)
Cevabımı doğrulamanın bir yolu var mı? C ++ 'da bir sayının belleğinde ikili temsili göstermek için standart bir yol var mı, ya da her adımı kendim kodlamak zorunda (ikisinin tamamlayıcı hesaplamak ve sonra ikili dönüştürmek)? İkincisinin çok uzun sürmeyeceğini biliyorum ama bunu yapmanın standart bir yolu olup olmadığını merak ediyorum.
std::hex
manipülatör kullanarak ) yazdırabilirsiniz - gerisini halletmeniz için bir egzersiz olarak bırakacağım ...