Khác biệt giữa bản sửa đổi của “Kosmas”

Nội dung được xóa Nội dung được thêm vào
Addbot (thảo luận | đóng góp)
n Bot: Di chuyển 2 liên kết ngôn ngữ đến Wikidata tại d:q4515104 Addbot
JarBot (thảo luận | đóng góp)
n Bot:Remove langlinks after linking to wikidata
Dòng 1:
{{chú thích trong bài}}'''Bù 1''' ([[tiếng Anh]]: ''one's complement'') là một số trong hệ [[hệ nhị phân|nhị phân]] mà nó chính là [[bù cơ số trừ 1]] (''radix-minus-1 complement'') của một số khác. Một số bù 1 có thể có được do đảo tất cả các [[bit]] có trong số nhị phân (đổi 1 thành 0 và ngược lại).
'''Kosmas''', hay '''Cosmas''', là một tên [[Hy Lạp]] của các người sau đây trong lịch sử:
* [[Thánh Kosmas và Damian]], sống trong [[thế kỷ 3|thế kỷ thứ 3]]
* [[Kosmas Indicopleustes]], một [[thám hiểm|nhà thám hiểm]] [[:Thể loại:Người Hy Lạp|người Hy Lạp]] sống trong [[thế kỷ 6|thế kỷ thứ 6]]
* [[Thánh Kosmas]], sống trong [[thế kỷ 8|thế kỷ thứ 8]]
* [[Kosmas của Praha]], nhà sử gia [[:Thể loại:Người Séc|người Séc]] của [[thế kỷ 12]]
 
Bên cạnh phương pháp [[bù 2]], bù 1 cũng thường được sử dụng để biểu diễn [[số âm]] trong [[máy tính]]. Theo phương pháp này, bit cực trái (là bit nằm bên trái cùng của byte) được sử dụng làm bit dấu (''sign bit'' - là bit tượng trưng cho dấu của số) với quy ước: nếu bit dấu là 0 thì số là số dương, còn nếu nó là 1 thì số là [[số âm]]. Ngoài bit dấu này ra, các bit còn lại được dùng để biểu diễn độ lớn của số.
Ngoài ra còn có 3 [[giáo hoàng]] của [[Giáo hội Coptic]] mang tên Cosmas:
* [[Cosmas của Alexandria]]
* [[Cosmas II của Alexandria]]
* [[Cosmas III của Alexandria]]
 
Ví dụ: số −5 được biểu diễn trong máy tính theo phương pháp bù 1 như sau (với mẫu 8 bit): đầu tiên, xác định số 5 được biểu diễn trong máy tính: 0000 0101. Tiếp theo, đảo tất cả các bit có trong số 5: kết quả sau khi đảo: 1111 1010. Vì là biểu diễn số âm nên bit bên trái cùng luôn giữ là 1.
{{Trang định hướng}}
 
Vậy với phương pháp bù 1, số −5 được biểu diễn trong máy tính như sau: 1111 1010.
[[en:Cosmas]]
 
== Thực hiện phép cộng với số bù 1 ==
 
Khi thực hiện phép tính cộng với số âm biểu diễn theo phương pháp bù 1, ta thực hiện như [[phép cộng nhị phân]] bình thường. Trong trường hợp khi đã thực hiện phép cộng đến bit cực trái mà vẫn phát sinh [[bit nhớ]] thì ta cộng tiếp bit nhớ này vào kết quả vừa nhận được.
 
Ví dụ:
 
1. Cộng hai số thập phân −5 với 2 (mẫu 8 bit):
 
1111 1010 (số bù 1 của −5)
+ 0000 0010 (số 2 ở hệ nhị phân)
===========
1111 1100(số bù 1 của −3)
 
2. Cộng hai số thập phân −5 với −7 (mẫu 8 bit):
 
1111 1010 (số bù 1 của −5)
+ 1111 1000 (số bù 1 của −7)
===========
1111 0010 (còn nhớ 1)
+ 1 (cộng tiếp với bit nhớ)
===========
1111 0011 (số bù 1 của −12)
 
Ta thấy: khi cộng hai bit cực trái của hai số 1111 1010 và 1111 1000, ta được kết quả là 1111 0010 và còn nhớ 1, do đó, ta tiếp tục cộng bit nhớ vào kết quả vừa nhận được để ra kết quả cuối cùng.
 
== Tràn số ==
 
Xét trường hợp ta đang có hai số âm −5 và −6 ở hệ thập phân. Biểu diễn nhị phân bằng phương pháp bù 1 với '''mẫu 4 bit''' của hai số trên lần lượt là 1010 và 1001. Giả sử, bây giờ, ta cần cộng hai số này.
 
Ta thực hiện phép cộng:
 
1010 (số bù 1 của −5)
+ 1001 (số bù 1 của −6)
======
0011 (còn nhớ 1)
+ 1
======
0100
 
Ta thấy, kết quả nhận được là 0100. Nếu đổi ra hệ thập phân, đây là số nguyên dương 4 chứ không phải −11 như mong đợi.
 
Vấn đề như trên được gọi là [[tràn số]]. Nó xảy ra khi ta lấy số lượng bit để biểu diễn quá ít (như trong ví dụ trên là mẫu 4 bit). Để có thêm thông tin về vấn đề này, xin xem bài [[tràn số]].
 
==Xem thêm==
*[[Máy tính]]
*[[Khoa học máy tính]]
*[[Kiến trúc máy tính]]
*[[Bù (Khoa học máy tính)|Bù]]
*[[Bù 2]]
*[[Dấu lượng]]
*[[Biểu diễn số âm]]
 
==Tham khảo==
{{tham khảo}}
 
[[Thể loại:Kiến trúc máy tính]]
[[Thể loại:Số học máy tính]]
 
[[en:Signed number representations]]
[[ja:符号付数値表現]]