Tôi đang theo một khóa học đại học về các hệ điều hành và chúng tôi đang học cách chuyển đổi từ nhị phân sang thập lục phân, thập phân sang thập lục phân, v.v. + 1).
Chúng tôi có một vài bài tập để làm trên giấy và tôi muốn có thể xác minh câu trả lời của mình trước khi gửi bài tập của mình cho giáo viên. Tôi đã viết một chương trình C ++ cho một vài bài tập đầu tiên nhưng bây giờ tôi bị mắc kẹt về cách tôi có thể xác minh câu trả lời của mình với vấn đề sau:
char a, b;
short c;
a = -58;
c = -315;
b = a >> 3;
và chúng ta cần để hiển thị các biểu diễn nhị phân trong bộ nhớ của a
, b
và c
.
Tôi đã thực hiện nó trên giấy và nó cho tôi các kết quả sau (tất cả các biểu diễn nhị phân trong bộ nhớ của các số sau phần bù của hai số):
a = 00111010 (đó là một char, vì vậy 1 byte)
b = 00001000 (đó là một char, vì vậy 1 byte)
c = 11111110 11000101 (ngắn, nên 2 byte)
Có cách nào để xác minh câu trả lời của tôi không? Có một cách tiêu chuẩn trong C ++ để hiển thị biểu diễn nhị phân trong bộ nhớ của một số hay tôi phải tự viết mã cho từng bước (tính toán phần bù của hai và sau đó chuyển đổi thành nhị phân)? Tôi biết cái sau sẽ không mất nhiều thời gian nhưng tôi tò mò liệu có cách nào chuẩn để làm như vậy không.
std::hex
) trình điều khiển - Tôi sẽ để nó như một bài tập để bạn giải quyết phần còn lại ...