Complément à deux

bit de signe
0 1 1 1 1 1 1 1 = 127
0 =
0 0 0 0 0 0 1 0 = 2
0 0 0 0 0 0 0 1 = 1
0 0 0 0 0 0 0 0 = 0
1 1 1 1 1 1 1 1 = −1
1 1 1 1 1 1 1 0 = −2
1 =
1 0 0 0 0 0 0 1 = −127
1 0 0 0 0 0 0 0 = −128
Représentation en complément à deux sur 8 bits.

En informatique, le complément à deux est une méthode de représentation des entiers relatifs en binaire permettant d'effectuer simplement des opérations arithmétiques.

Le complément à deux ne s'applique qu'à des nombres ayant tous la même longueur : avec un codage sur n bits, cette méthode permet de représenter toutes les valeurs entières de −2n − 1 à 2n − 1 − 1[1].

Histoire

La méthode des compléments est utilisée depuis longtemps pour effectuer des soustractions dans les machines à additionner décimales et les calculateurs mécaniques. John von Neumann a suggéré l'utilisation de la représentation binaire par complément à deux dans son premier projet de rapport sur la proposition EDVAC de 1945 d'un ordinateur numérique électronique à programme enregistré[2]. L'EDSAC de 1949, qui s'est inspiré du premier projet, utilise la représentation par complément à deux des nombres binaires.

De nombreux premiers ordinateurs, dont le CDC 6600, le LINC, le PDP-1 et l'UNIVAC 1107, utilisent la notation en complément à un[3],[4] ; les descendants de l'UNIVAC 1107, les séries UNIVAC 1100/2200, ont continué à le faire. Les machines scientifiques des séries IBM 700/7000 utilisent la notation signe/magnitude, sauf pour les registres d'index qui sont en complément à deux. Les premiers ordinateurs commerciaux à complément à deux comprennent le PDP-5 de Digital Equipment Corporation et le PDP-6 de 1963. Le System/360, introduit en 1964 par IBM, alors l'acteur dominant de l'industrie informatique, a fait du complément à deux la représentation binaire la plus utilisée dans l'industrie informatique. Le premier mini-ordinateur, le PDP-8 introduit en 1965, utilise l'arithmétique du complément à deux, tout comme le Data General Nova de 1969, le PDP-11 de 1970 et presque tous les mini-ordinateurs et micro-ordinateurs ultérieurs.

Description

Le complément à deux opère toujours sur des nombres binaires ayant le même nombre de bits. Dans une telle écriture, le bit de poids fort (bit le plus à gauche) donne le signe du nombre représenté (positif ou strictement négatif). C'est le bit de signe.

Problème de la représentation naïve

Une représentation naïve pourrait utiliser ce bit de poids fort comme marqueur du signe, les autres bits donnant une valeur absolue :

Dans les exemples ci-après, le bit de signe est représenté en bleu ciel.

Notation naïve Décimal
00000010 +2 en décimal
10000010 −2 en décimal

Cette représentation possède deux inconvénients. Le premier (mineur) est que le nombre zéro (0) possède deux représentations : 00000000 et 10000000, qui sont respectivement égales à +0 et −0. L'autre inconvénient (majeur) est que cette représentation impose de modifier l'algorithme d'addition ; si un des nombres est négatif, l'addition binaire usuelle donne un résultat incorrect. Ainsi :

Décimal non signés Addition en notation naïve Décimal
+00 3 + 00000011 3
+ 132 + 10000100 + -4
= 135 = 10000111
= -1
-7
= −7 au lieu de (−1)

Représentation des nombres en complément à 2

Pour remédier au problème posé par une représentation naïve, la notation en complément à deux est utilisée:

  • Les nombres positifs sont représentés de manière usuelle.
  • Les nombres négatifs sont obtenus en calculant l'opposé du nombre positif par deux opérations successives:
    • On inverse les bits de l'écriture binaire (opération binaire NON), on fait ce qu'on appelle le complément à un ;
    • On ajoute 1 au résultat (les dépassements sont ignorés) (voir addition en binaire).

Cette opération correspond au calcul de 2n − |x|, où n est la longueur de la représentation et |x| la valeur absolue du nombre à coder. Ainsi, −1 s'écrit comme 256−1 = 255 = 111111112, pour les nombres sur 8 bits. Ceci est à l'origine du nom de cette opération : « complément à 2 puissance n », quasi-systématiquement tronqué en « complément à 2 ».

Les deux inconvénients précédents disparaissent alors. En effet, le calcul de l'opposé de 00000000 utilise le complément à 1: 11111111 qui après ajout de 1 redevient 00000000. De même, l'addition usuelle des nombres binaires fonctionne.

La même opération effectuée sur un nombre négatif donne le nombre positif de départ: 2n − (2nx) = x.

Pour retrouver le codage binaire de (−4) :

  • on prend le nombre positif 4 : 00000100 ;
  • on inverse les bits : 11111011 ;
  • on ajoute 1 : 11111100.

Le bit de signe est automatiquement mis à 1 par l'opération d'inversion. On peut vérifier que cette fois l'opération 3 + (−4) se fait sans erreur :

Décimal non signés Notation complément à 2 Décimal signé
+00 3 + 00000011 3
+ 252 + 11111100 + −4
= 255 = 11111111 = −1 La même opération fonctionne pour les nombres négatifs et positifs

Le complément à deux de 11111111 est 00000001 soit 1 en décimal, donc 11111111 = (−1) en décimal.

Le résultat de l'addition usuelle de nombres représentés en complément à deux est le codage en complément à deux du résultat de l'addition des nombres. Ainsi les calculs peuvent s'enchaîner naturellement.

Si l'on doit transformer un nombre en son complément à deux « de tête », un bon moyen est de garder tous les chiffres depuis la droite jusqu'au premier 1 (compris) puis d'inverser tous les suivants.

  • Prenons par exemple le nombre 20 : 00010100.
  • On garde la partie à droite telle quelle : (00010100).
  • On inverse la partie de gauche après le premier un : 11101100.
  • Et voici −20 : 11101100.

Les opérations d'addition, soustraction et multiplication en complément à deux sur n bits sont identiques à celles en interprétant la suite de bits comme étant un entier non signé, les valeurs étant considérées modulo 2n.

Cas particulier

Il existe une valeur représentable pour laquelle l'opposé n'est pas représentable. En effet, le complément à 2 de 1000 0000 se calcule en deux étapes :

  • complément à 1 : 0111 1111
  • puis incrément : 1000 0000

Ainsi, le complément à 2 de ce nombre est ce nombre lui-même, comme pour 0, alors que ce nombre n'est pas l'opposé de lui-même.

Remarque : ce nombre « spécial » correspond en fait à la plus petite valeur représentable pour un type signé, par exemple -128 sur 8 bits.

Analogie avec la base 10

D'un point de vue plus technique, cette écriture est simplement la troncature de l'écriture infinie à gauche. Pour la base 10, on sait qu'il est sans effet de compléter un nombre par des zéros à sa gauche, i.e. 123 peut s'écrire 0123, 00123, 000123, etc, avec une infinité de 0 à sa gauche.

De même, si on considère une infinité de 9 à gauche on obtient une représentation des nombres négatifs. Par exemple :

  …9999 (infinité de 9 à gauche)
+ …0001 (infinité de 0 à gauche)
-------
  …0000 (infinité de 0 à gauche)

On peut alors interpréter …9999 comme étant −1, puisque −1 (i.e. …9999) + 1 = 0.

Cette notation est le complément à 10. Pour obtenir la représentation d'un nombre négatif, il faut complémenter à 9 chaque chiffre puis ajouter 1 au résultat. Ainsi pour obtenir la représentation de −123 on fait : …0123 transformé en …9876 puis en …9877.

Un exemple plus complet. Essayons de calculer dans une telle représentation 12 + (−7). 12 s'écrit …012, −7 s'écrit (…07 complémenté en …92 puis additionné de 1 donne …93) …93. Additionnons :

  …012
+ ….93
--------
  ….05

Or 12 + (−7) = 12 − 7 = 5.

Une telle écriture mais de taille fixe fonctionne car le chiffre le plus à gauche (le signe 0 pour le + et 9 pour le −) représente alors simplement l'infinité des chiffres à gauche (l'opération consistant à allonger à volonté l'écriture du nombre à gauche s'appelle l'extension du signe et est bien connue des informaticiens).

Le complément à deux est alors la même technique employée avec la base 2.

Notes et références

  1. (en) John F. Wakerly, Digital design: principles and practices 4th edition, Pearson; 4e édition, , 928 p. (ISBN 0131863894), p. 35
  2. http://web.mit.edu/STS.035/www/PDFs/edvac.pdf
  3. (en) George Fleming et Nathan L. James, « PDP-1 », sur NASA Space Science Data Coordinated Archive, (consulté le )
  4. (en) Irving H. Thomae, Introduction to Binary Numbers and Binary Arithmetic, Université Washington de Saint-Louis, , 24 p. (lire en ligne)

Voir aussi

Articles connexes

Read other articles:

European Sports MediaSingkatanESMTanggal pendirian9 Juni 1989; 34 tahun lalu (1989-06-09)Didirikan diBarcelona, SpanyolTipeBadan jurnalistik sepak bolaWilayah Eropa (UEFA)Jumlah anggota 14 majalahSitus webwww.eusm.euNama sebelumnyaEuropean Sports Magazines European Sports Media (ESM), sebelumnya bernama European Sports Magazines, adalah asosiasi penerbit-penerbit media cetak sepak bola di Eropa. Anggota European Sports Media didirikan pada tahun 1989 sebagai badan jurnalisme sepak bola i...

 

Strada statale 557di Campobello di LicataLocalizzazioneStato Italia Regioni Sicilia DatiClassificazioneStrada statale InizioCampobello di Licata FineSS 190 presso Bivio Mintina Lunghezza12,628[1] km Provvedimento di istituzioneD.M. 22/11/1967 - G.U. 53 del 27/02/1968[2] GestoreANAS Manuale La strada statale 557 di Campobello di Licata (SS 557) è una strada statale italiana che si sviluppa in Sicilia. Percorso La strada ha origine nel centro abitato di Campobello di Licat...

 

Den här artikeln handlar om seklet 2000–2099. För decenniet 2000–2009, se 2000-talet (decennium). För millenniet 2000–2999, se 2000-talet (millennium). För skrivsättets flertydighet, se 2000-talet (skrivsätt). 2000-talet År: 2000 | 2001 | 2002 | 2003 | 20042005 | 2006 | 2007 | 2008 | 2009 2010 | 2011 | 2012 | 2013 | 20142015 | 2016 | 2017 | 2018 | 2019 2020 | 2021 | 2022 | 2023 | 20242025 | 2026 | 2027 | 2028 | 2029 2030 | 2031 | 2032 | 2033 ...

Alfred Wegener Institute, Helmholtz Centre for Polar and Marine ResearchAlfred-Wegener-Institut, Helmholtz-Zentrum für Polar- und MeeresforschungAgency overviewFormed1980HeadquartersBremerhaven, GermanyEmployees>1,000 in 2021[1] (2009: 770)Annual budget140 Million Euro / year Federal Ministry of Education and Research: 90%, State of Bremen: 8%, State of Brandenburg: 1%, State of Schleswig-Holstein: 1 % Agency executivesProf. Dr. Antje BoetiusDr. Karsten WurrParent agencyHelm...

 

Nepali actor, model and filmmaker Pradeep Khadkaप्रदीप खड्काBorn (1992-03-10) March 10, 1992 (age 32)CitizenshipNepaleseAlma materSikkim Manipal UniversityOccupationsActormodelflimmakerscriptwriterYears active2011–present Pradeep Khadka (Nepali: प्रदीप खड्का) is a Nepali actor, model, scriptwriter, and filmmaker.[1] His first film was Thulo Manchhe.[2] He made his film debut in the 2015 film Escape.[3][4&...

 

Questa voce sull'argomento calciatori tunisini è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Anis Ayari Nazionalità  Tunisia Altezza 179 cm Calcio Ruolo Difensore Termine carriera 2010 Carriera Squadre di club1 2001-2004 Stade Tunisien? (?)2004-2006 Samsunspor42 (0)2006-2007 Lorient2 (0)2007-2010 Étoile du Sahel? (?) Nazionale 2002-2006 Tunisia28 (0) Palmarès  Giochi ...

This image shows a representative sequence, but should not be construed to represent a straight-line evolution of the horse. Reconstruction, left forefoot skeleton (third digit emphasized yellow) and longitudinal section of molars of selected prehistoric horses Skeletal evolution The evolution of the horse, a mammal of the family Equidae, occurred over a geologic time scale of 50 million years, transforming the small, dog-sized,[1] forest-dwelling Eohippus into the modern horse. Pale...

 

Halaman ini berisi artikel tentang sistem operasi. Untuk peramban web, lihat Google Chrome.Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: ChromeOS – berita · surat kabar · buku · cendekiawan · JSTORChrome OSPerusahaan / pengembangGoogleKeluargaU...

 

Public transport operator in Melbourne, AustraliaThis article is about the private operator of metropolitan rail services in Melbourne. For an overview and history of the Melbourne rail network, including stations and infrastructure, see Railways in Melbourne. For the rail project formerly known as Melbourne Metro, see Metro Tunnel. Metro Trains MelbourneA High Capacity Metro Train departing Carnegie railway station in June 2021OverviewFleet size226 six-carriage trainsStations operated222Pare...

56°20′29″N 2°47′41″W / 56.341424°N 2.794658°W / 56.341424; -2.794658 This article is missing information about identity of namesake saint. Please expand the article to include this information. Further details may exist on the talk page. (August 2020) St Salvator's CollegeCoat of arms of St Salvator's CollegeFormer namesThe College of the Holy SaviourTypeCollegeActive1450–1747LocationSt Andrews, Fife, ScotlandAffiliationsUniversity of St Andrews St Salva...

 

HobbyConsolasKategoriMajalah komputer dan permainan videoFrekuensiBulananSirkulasi32,129 (Maret 2014)PenerbitAxel SpringerTerbitan pertamaOktober 1991PerusahaanHobby PressNegaraSpanyolBerpusat diMadridSitus webhobbyconsolas.com HobbyConsolas adalah majalah permainan video asal Spanyol yang didirikan pada tahun 1991 oleh Hobby Press dan diterbitkan oleh Axel Springer SE.[1] Edisi pertama terbit pada bulan Oktober 1990.[2] Majalah bulanan ini menawarkan informasi mengenai permai...

 

Sceaux 行政国 フランス地域圏 (Région) イル=ド=フランス地域圏県 (département) オー=ド=セーヌ県郡 (arrondissement) アントニー郡小郡 (canton) 小郡庁所在地INSEEコード 92071郵便番号 92330市長(任期) フィリップ・ローラン(2008年-2014年)自治体間連合 (fr) メトロポール・デュ・グラン・パリ人口動態人口 19,679人(2007年)人口密度 5466人/km2住民の呼称 Scéens地理座標 北緯48度4...

2020年夏季奥林匹克运动会科索沃代表團科索沃国旗IOC編碼KOSNOC科索沃奧林匹克委員會網站www.noc-kosovo.org(英文)(阿爾巴尼亞文)(塞爾維亞文)2020年夏季奥林匹克运动会(東京)2021年7月23日至8月8日(受2019冠状病毒病疫情影响推迟,但仍保留原定名称)運動員11參賽項目6个大项旗手开幕式:阿基爾·賈科瓦(英语:Akil Gjakova)和瑪琳達·開爾門蒂(柔道)[1]闭幕式�...

 

American diplomat and politician Paul V. McNuttUnited States Ambassador to the PhilippinesIn officeJuly 4, 1946 – March 22, 1947PresidentHarry S. TrumanPreceded byHimself (High Commissioner)Succeeded byEmmet O'NealHigh Commissioner to the PhilippinesIn officeSeptember 14, 1945 – July 4, 1946PresidentHarry S. TrumanPreceded byHarold L. IckesSucceeded byHimself (Ambassador)In officeApril 26, 1937 – July 12, 1939PresidentFranklin D. RooseveltPreceded byWeldon Jon...

 

Artikel ini membutuhkan penyuntingan lebih lanjut mengenai tata bahasa, gaya penulisan, hubungan antarparagraf, nada penulisan, atau ejaan. Anda dapat membantu untuk menyuntingnya. Pegunungan Serayu Selatan Kebumen High Negara Indonesia Titik tertinggi Gunung Lanang  - elevasi 1.102 ft (336 m) Panjang 63 mi (101,388672 km), Barat-Timur Pegunungan Serayu Selatan dikenal dalam istilah bahasa inggris adalah South Serayu Mountain. Pegunungan Serayu Selatan termasuk b...

莎拉·阿什頓-西里洛2023年8月,阿什頓-西里洛穿著軍服出生 (1977-07-09) 1977年7月9日(46歲) 美國佛羅里達州国籍 美國别名莎拉·阿什頓(Sarah Ashton)莎拉·西里洛(Sarah Cirillo)金髮女郎(Blonde)职业記者、活動家、政治活動家和候選人、軍醫活跃时期2020年—雇主內華達州共和黨候選人(2020年)《Political.tips》(2020年—)《LGBTQ國度》(2022年3月—2022年10月)烏克蘭媒�...

 

Swedish king of disputed historicity The Norsta Runestone (U 861) on the drive of Wik Castle outside Uppsala was probably made by Sweyn and his family, as it mentions two people called Sweyn and Mær (mentioned in the accusative form Møy). It is the only existing mention of a woman named Mær (maiden) besides the mention of Sweyn's sister Mær in Hervarar saga, and it is contemporary with Sweyn.[1] Blot-Sweyn (Swedish: Blot-Sven) was a Swedish king c. 1080,[2] of disputed his...

 

Retired Pakistani squash player For other uses, see Jahangir Khan (disambiguation). Jahangir KhanJahangir Khan at the 2018 Asian AwardsNickname(s)JKCountryPakistanBorn (1963-12-10) 10 December 1963 (age 60)Karachi, PakistanRetired1993Racquet usedUnsquashableMen's singlesHighest rankingNo. 1World OpenW (1981, 1982, 1983, 1984, 1985, 1988) Medal record Men's squash Representing  Pakistan World Championships 1981 Toronto Singles 1982 Birmingham Singles 1983 Munich Singles 198...

Cet article est une ébauche concernant la république démocratique du Congo. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Pour les articles homonymes, voir Kwenge. Kwenge, Kwengo Bassin versant de la Kasai avec la Kwenge (au milieu à gauche) Caractéristiques Longueur environ 400 km Bassin collecteur Congo Cours Source en Angola · Coordonnées 8° 50′ 41″ S, 19° 05′ 35...

 

Arcidiocesi di TorinoArchidioecesis TaurinensisChiesa latinaRegione ecclesiasticaPiemonte   Provincia ecclesiastica Collocazione geografica Diocesi suffraganee Acqui, Alba, Aosta, Asti, Cuneo-Fossano, Ivrea, Mondovì, Pinerolo, Saluzzo, Susa  Arcivescovo metropolitaRoberto Repole Vicario generaleAlessandro Giraudo[1] AusiliariAlessandro Giraudo[1] Arcivescovi emeritiCesare Nosiglia Presbiteri842, di cui 413 secolari e 429 regolari2.321 battezzati per presbitero Relig...