Tôi đang tham gia khóa học ngôn ngữ lắp ráp và tổ chức máy tính. Phần viết của phòng thí nghiệm của chúng tôi trong tuần này có một câu hỏi về nó khiến tôi bối rối. Câu hỏi đọc ...Trừ số nhị phân chưa ký lớn khỏi số nhỏ hơn
Trừ các số nhị phân không dấu sau (hiển thị bit vay và tràn). Không chuyển đổi thành phần bổ sung của hai.
0101 0111 1101
-1110 1011 0110
--------------
Tôi nhận ra rằng câu trả lời là -1001 0011 1001 nhưng tôi đang gặp một thời gian khó khăn cố gắng tìm ra cách để mượn để thực sự thực hiện phép trừ này bằng cách lấy số lượng lớn và trừ nó ra khỏi số lượng nhỏ hơn và hiển thị công việc của tôi. Toàn bộ cuộc sống của tôi khi trừ một số lượng lớn từ một số nhỏ tôi đã đảo ngược vấn đề và thay vào đó trừ số nhỏ hơn từ số lớn hơn và thêm một dấu âm trước kết quả. Tôi hỏi giáo sư và ông nói rằng ông muốn vấn đề được giải quyết theo cách nó được viết. Tôi không được phép giải quyết điều này bằng cách trừ số nhỏ hơn khỏi số lớn hơn và phủ nhận như tôi thường làm. Tôi đã không thể tìm thấy bất kỳ ví dụ trực tuyến trừ một số nhị phân unsigned lớn hơn từ một số nhỏ hơn.
Tôi thực sự đánh giá cao nếu ai đó có thể mô tả cho tôi cách thực hiện phép trừ trong trường hợp này.
Cập nhật: @Alex là chính xác. Giáo sư đang tìm kiếm
0110 1100 0111 (1735)
Cảm ơn mọi người.
Bạn có chắc chắn rằng anh ta không muốn '0110 1100 0111' với một dấu hiệu của một số bit vay và một bit tràn? – Beta
@Beta: Không, câu trả lời là '-1001 0011 1001' (-2361). Anh ấy chỉ làm việc với các số nhị phân bình thường, không phải là một đại diện máy tính cụ thể như phần bù 2. –
Tôi không chắc liệu giáo sư có sau khi -1001 0011 1001 (-2361) hoặc 0110 1100 0111 (1735), tôi đã kết thúc với 1735. Tôi nghĩ rằng @Beta là đúng. Tôi sẽ đăng lại với những gì ông đang tìm kiếm khi phòng thí nghiệm được trao lại. –