Dépassement d'entiervignette|Le vol 501 d'Ariane 5 en 1996 s'est soldé par sa destruction en raison d'un dépassement d'entier. Un dépassement d'entier (integer overflow) est, en informatique, une condition qui se produit lorsqu'une opération mathématique produit une valeur numérique supérieure à celle représentable dans l'espace de stockage disponible. Par exemple, l'ajout d'une unité au plus grand nombre pouvant être représenté entraîne un dépassement d'entier. Le dépassement d'entier porte le numéro CWE-190 dans la nomenclature Common Weakness Enumeration.
Entier (informatique)En informatique, un entier est un type de donnée qui représente un sous-ensemble fini de nombres entiers relatifs. On utilise aussi le terme type de données entières (integral type data). Un type de donnée est la nature des valeurs que peut prendre une donnée. Certains traitements comme le recensement des États-Unis ont d'abord été effectués en utilisant une représentation décimale à l'aide de cartes perforées. Le système décimal utilise dix chiffres (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) et où leur position correspond à une puissance de 10 (1, 10, 100, 1000, etc.
BitLe bit est l'unité la plus simple dans un système de numération, ne pouvant prendre que deux valeurs, désignées le plus souvent par les chiffres 0 et 1. Un bit peut représenter aussi bien une alternative logique, exprimée par faux et vrai, qu'un « chiffre binaire », binary digit en anglais, dont le mot bit, qui signifie « morceau », est aussi l'abréviation. Dans la théorie de l'information, un bit est la quantité minimale d'information transmise par un message, et constitue à ce titre l'unité de mesure de base de l'information en informatique.
Java (technique)Java est une technique informatique développée initialement par Sun Microsystems puis acquise par Oracle à la suite du rachat de l'entreprise. Défini à l'origine comme un langage de programmation, Java a évolué pour devenir un ensemble cohérent d'éléments techniques et non techniques.
Entier relatifEn mathématiques, un entier relatif, un entier rationnel ou simplement un nombre entier est un nombre qui se présente comme un entier naturel auquel on a adjoint un signe positif ou négatif indiquant sa position par rapport à 0 sur un axe orienté. Les entiers positifs (supérieurs à zéro) s'identifient aux entiers naturels : 0, 1, 2, 3... tandis que les entiers négatifs sont leurs opposés : 0, −1, −2, −3... L'entier 0 lui-même est donc le seul nombre à la fois positif et négatif.
Machine virtuelle Javavignette|Machine virtuelle Java - Spécification Java 7 La machine virtuelle Java (en anglais Java virtual machine, abr. JVM) est un appareil informatique fictif qui exécute des programmes compilés sous forme de bytecode Java. L'appareil est simulé par un logiciel spécifique à chaque plateforme ou couple (machine/système d’exploitation) et permet aux applications Java compilées en bytecode de produire les mêmes résultats quelle que soit la plate-forme, tant que celle-ci est pourvue de la machine virtuelle Java adéquate.
Java version historyThe Java language has undergone several changes since JDK 1.0 as well as numerous additions of classes and packages to the standard library. Since J2SE 1.4, the evolution of the Java language has been governed by the Java Community Process (JCP), which uses Java Specification Requests (JSRs) to propose and specify additions and changes to the Java platform. The language is specified by the Java Language Specification (JLS); changes to the JLS are managed under JSR 901.
Système unaireLe système unaire aussi appelé système monadique est un système de numération permettant l'écriture des entiers naturels en ne disposant que d'un unique symbole représentant l'unité. Un entier s'écrit par juxtaposition de la quantité correspondante de copies du symbole. Ainsi 6 s'écrit |||||| où | est le symbole utilisé pour représenter l'unité. Les opérations s'effectuent ainsi : L'addition de deux entiers naturels se traduit par la concaténation des séquences de symboles correspondantes.
Bytecode JavaLe bytecode Java est un bytecode destiné à regrouper des instructions exécutables par une machine virtuelle Java. Par extension, il désigne un flux d'octets binaire au format d'une classe Java. Ce flux est habituellement le résultat de la compilation d'un code source, ce code source n'étant pas obligatoirement écrit en langage Java. Ce bytecode peut être exécuté sous de nombreux systèmes d'exploitation par une machine virtuelle Java.
Applet JavaUn applet Java est un applet, fournie aux utilisateurs sous la forme de bytecode Java. Un applet Java peut fonctionner dans un navigateur web, grâce à une machine virtuelle Java (JVM), ou dans l'AppletViewer de Sun, un outil permettant de tester les applets Java. Les applets Java ont été introduits dans la première version du langage, de 1995. Les applets Java sont la plupart du temps écrits en langage Java, mais ils peuvent également être écrits dans n'importe quel langage qui se compile en bytecode, comme Jython, Groovy ou encore Scala.
Java syntaxThe syntax of Java is the set of rules defining how a Java program is written and interpreted. The syntax is mostly derived from C and C++. Unlike in C++, in Java there are no global functions or variables, but there are data members which are also regarded as global variables. All code belongs to classes and all values are objects. The only exception is the primitive types, which are not represented by a class instance for performance reasons (though can be automatically converted to objects and vice versa via autoboxing).
Type (informatique)vignette|Présentation des principaux types de données. En programmation informatique, un type de donnée, ou simplement un type, définit la nature des valeurs que peut prendre une donnée, ainsi que les opérateurs qui peuvent lui être appliqués. La plupart des langages de programmation de haut niveau offrent des types de base correspondant aux données qui peuvent être traitées directement — à savoir : sans conversion ou formatage préalable — par le processeur.
Hamming weightThe Hamming weight of a string is the number of symbols that are different from the zero-symbol of the alphabet used. It is thus equivalent to the Hamming distance from the all-zero string of the same length. For the most typical case, a string of bits, this is the number of 1's in the string, or the digit sum of the binary representation of a given number and the l1 norm of a bit vector. In this binary case, it is also called the population count, popcount, sideways sum, or bit summation.
Tableau de bitsUn tableau de bits (en anglais bitmap) est une structure de données, en particulier un tableau de données binaires. Il s'agit d'une collection ordonnée de bits assimilables à des booléens. Certes, l'appellation tableau évoque une grille semblable à celle des mots croisés, mais un tableau de bits peut très bien être en trois dimensions ou plus. Pour autant, le nombre d'éléments étant fini, connu, voire défini, la collection peut être inventoriée selon un chemin parcourant chaque « colonne » et chaque « ligne ».
Processeur 64 bitsthumb|Un processeur AMD. Un processeur est un processeur dont la largeur des registres est de sur les nombres entiers. Les processeurs ne peuvent normalement pas adresser plus de () de mémoire centrale, tandis que les processeurs peuvent en adresser (). C'est pourquoi dès qu'il y a plus de de RAM sur une machine, la mémoire au-delà de ce seuil ne sera directement adressable qu'en mode . Diverses techniques contournent cette limitation sans franchir le pas du mode .
Signed number representationsIn computing, signed number representations are required to encode negative numbers in binary number systems. In mathematics, negative numbers in any base are represented by prefixing them with a minus sign ("−"). However, in RAM or CPU registers, numbers are represented only as sequences of bits, without extra symbols. The four best-known methods of extending the binary numeral system to represent signed numbers are: sign–magnitude, ones' complement, two's complement, and offset binary.
Conversion de typeEn informatique la conversion de type, le transtypage ou la coercition (cast en anglais) est le fait de convertir une valeur d'un type (source) dans un autre (cible). On distingue trois formes de conversion (dont un seul mérite vraiment le nom de conversion) suivant la relation de sous-typage existant entre les types source et cible : la conversion entre types incomparables ; la coercition ascendante (transtypage vers le haut) ; la coercition descendante (transtypage vers le bas). C'est la coercition la plus ancienne historiquement.
Entier d'Eisensteinthumb|Les entiers d'Eisenstein sont les points d'intersection d'un treillis triangulaire dans le plan complexe. En mathématiques, les 'entiers d'Eisenstein', nommés en l'honneur du mathématicien Gotthold Eisenstein, sont les nombres complexes de la forme où a et b sont des entiers relatifs et est une racine cubique primitive de l'unité (souvent autrement notée j). Les entiers d'Eisenstein forment un réseau triangulaire dans le plan complexe. Ils contrastent avec les entiers de Gauss qui forment un réseau carré dans le plan complexe.
Entier quadratiqueEn mathématiques, un entier quadratique est un nombre complexe, racine d'un polynôme unitaire du second degré à coefficients entiers. La notion de nombre algébrique de degré inférieur ou égal à 2 est plus générale : elle correspond à un nombre complexe, racine d'un polynôme du second degré à coefficients seulement rationnels. Ces nombres particuliers disposent de propriétés algébriques.
Système binaireLe système binaire (du latin binārĭus, « double ») est le système de numération utilisant la base 2. On nomme couramment bit (de l'anglais binary digit, soit « chiffre binaire ») les chiffres de la numération binaire positionnelle. Un bit peut prendre deux valeurs, notées par convention 0 et 1. Le système binaire est utile pour représenter le fonctionnement de l'électronique numérique utilisée dans les ordinateurs. Il est donc utilisé par les langages de programmation de bas niveau.