Histoire des bits et des bytes en informatique
1. Bit
Je commence l'histoire en parlant du système base-10. Quand vous comprendrez le système base-10, notre histoire ne sera pas interrompue et confuse.
OK, le système de base 10 est le plus populaire, mais ce n'est pas unique. De nombreuses cultures utilisaient des systèmes différents dans le passé, mais aujourd'hui, la plupart d'entre elles sont passées au système de base 10. Le système base-10 utilise 10 chiffres: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, qui sont mis ensemble pour former un autre nombre.
Si vous n'avez qu'une seule case, vous pouvez seulement écrire un nombre de 0 à 9. Mais ...
- Si vous avez deux cases, vous pouvez écrire un nombre compris entre 0 et 99.
- Si vous avez trois cases, vous pouvez écrire un nombre compris entre 0 et 999.
Toutes les cases de droite à gauche ont un facteur qui est à son tour 10^0, 10^1, 10^2, ...
BIT
BIT est l'abréviation de Binary digIT (Une unité d'information). Un bit qui indique la valeur 0 ou 1, est appelé la plus petite unité de l'ordinateur. 0, 1 sont deux chiffres de base du système base-2.
Laissez raisonner comme le système base-10 et l'appliquer au système base-2. Si vous avez une case, vous pouvez écrire 2 nombres tels que 0 et 1. Si vous avez 2 cases, vous pouvez écrire 4 nombres tels que 00, 01, 10 et 11 (Note: Ne vous méprenez pas, ces chiffres sont ceux du système de base-2).
Pour le système base-2, les cases de droite à gauche ont 1 facteur. Ils sont à leur tour 2^0, 2^1, 2^2, ...
L'image ci-dessous décrit la manière de convertir un certain nombre de systèmes binaire en systèmes décimal.
Pour tant:
- Si vous avez deux cases dans le système binaire, vous pouvez écrire le plus grand nombre de 11 (base-2), ce qui équivaut à 3 dans le système décimal.
- Si vous avez 3 cases dans le système binaire, vous pouvez écrire le plus grand nombre de 111 (base-2), ce qui équivaut à 7 dans le système décimal.
Box Numbers | Maximum Number (Base-2) | Convert to Base-10 |
1 | 1 | 1 (2^1 - 1) |
2 | 11 | 3 (2^2 - 1) |
3 | 111 | 7 (2^3 - 1) |
4 | 1111 | 15 (2^4 - 1) |
5 | 11111 | 31 (2^5 - 1) |
6 | 111111 | 63 (2^6 - 1) |
7 | 1111111 | 127 (2^7 - 1) |
8 | 11111111 | 255 (2^8 - 1) |
9 | 111111111 | 511 (2^9 - 1) |
Pourquoi l'ordinateur utilise-t-il le système binaire mais pas le système décimal?
Vous posez sûrement la question "Pourquoi l'ordinateur utilise-t-il le système binaire mais pas le système décimal ?" J'ai déjà posé cette question, comme vous.
Les ordinateurs fonctionnent en utilisant des millions de commutateurs électroniques (transistors), chaque transistor est activé ou désactivé (semblable à un interrupteur d'éclairage, mais beaucoup plus petit). L'état du commutateur (activé ou désactivé) peut représenter des informations binaires, telles que oui ou non, vrai ou faux, 1 ou 0. L'unité d'information de base dans un ordinateur est donc le chiffre binaire (binary digit). Bien que les ordinateurs puissent représenter une incroyable variété d'informations, chaque représentation doit finalement être réduite aux états ON/OFF (marche et arrêt) d'un transistor.
Ainsi, la réponse est que l'ordinateur n'a pas beaucoup d'états pour stocker des informations, par conséquent, il stocke des informations basées sur les deux états ON et OFF (respectivement 1 et 0).
Votre disque dur d'ordinateur stocke également des données sur le principe de 0, 1. Il inclut des enregistreurs et des lecteurs. Il a un ou plusieurs disques, qui sont revêtus d'une couche magnétique de nicken (magnetic layer of nikel). Les particules magnétiques (magnetic particle) peuvent avoir une direction sud-nord ou nord-sud, qui sont deux états de particule magnétique, et correspondent à 0 et 1.Le lecteur de disque dur peut réaliser la direction de chaque particule magnétique pour le convertir en 0 ou 1 signaux.Les données à stocker sur le disque dur sont une ligne de signaux 0 ou 1. L'enregistreur de disque dur s'appuie sur ce signal et change la direction de chaque particule magnétique en conséquence. C'est le principe du stockage de données du disque dur.
2. Byte
Byte est une unité en ordinateur qui équivaut à 8 bit. Ainsi, un byte peut représenter un nombre compris entre 0 et 255.
Pourquoi 1 byte est-il égal à 8 bits?
La question en ce moment est "Pourquoi 1 byte est-il égal à 8 bits mais pas à 10 bit?".
Au début de l'ère informatique, les gens ont utilisé baudot comme une unité de base, ce qui équivaut à 5 bit, c'est-à-dire qu'il peut représenter des nombres de 0 à 31. Si chaque nombre représente un caractère, 32 est suffisant pour les majuscules telles que A, B, ... Z, et quelques autres caractères. Ce n'est pas suffisant pour tous les caractères minuscules.
Immédiatement après, certains ordinateurs utilisent 6 bit pour représenter les caractères et peuvent représenter au maximum 64 caractères. Ils sont suffisants pour utiliser A, B, .. Z, a, b .. Z, 0, 1, 2, .. 9 mais pas assez pour d'autres caractères tels que +, -, *, / et espaces. Ainsi, 6 bit deviennent rapidement restreints.
ASCII a défini un jeu de caractères à 7-bit (7-bit character set). C'était "assez bon" pour beaucoup d'utilisations pendant longtemps, et a formé la base de la plupart des nouveaux jeux de caractères (ISO 646, ISO 8859, Unicode, ISO 10646, v..v)
Le tableau ASCII:
8-bit, un peu plus de 7-bit sera mieux, cela ne cause pas trop de gaspillage.. 8-bit est une collection de nombres entre 0 et 255 et il satisfait les concepteurs d'ordinateurs. Le concept byte a été né, 1 byte = 8 bit.
Pour 8-bit, les concepteurs peuvent définir d'autres caractères, notamment des caractères spéciaux dans l'ordinateur. Le tableau de code ANSI qui a été né est l'héritage du tableau de code ASCII:
Le tableau ANSI:
Il existe de nombreux jeux de caractères (character sets) permettant d'encoder des caractères dans différentes langues. Par exemple, le chinois et le japonais nécessitent beaucoup de caractères, auquel cas les utilisateurs utilisent 2 byte ou 4 byte pour définir un caractère.
Java Basic
- Personnaliser le compilateur Java pour traiter votre annotation (Annotation Processing Tool)
- Programmation Java pour l'équipe utilisant Eclipse et SVN
- Le Tutoriel de Java WeakReference
- Le Tutoriel de Java PhantomReference
- Tutoriel sur la compression et la décompression Java
- Configuration d'Eclipse pour utiliser le JDK au lieu de JRE
- Méthodes Java String.format() et printf()
- Syntaxe et nouvelles fonctionnalités de Java 8
- Expression régulière en Java
- Tutoriel de programmation Java multithreading
- Bibliothèques de pilotes JDBC pour différents types de bases de données en Java
- Tutoriel Java JDBC
- Obtenir des valeurs de colonne automatiquement incrémentées lors de l'insertion d'un enregistrement à l'aide de JDBC
- Le Tutoriel de Java Stream
- Le Tutoriel de Java Functional Interface
- Introduction à Raspberry Pi
- Le Tutoriel de Java Predicate
- Classe abstraite et interface en Java
- Modificateurs d'accès en Java
- Le Tutoriel de Java Enum
- Le Tutoriel de Java Annotation
- Comparer et trier en Java
- Le Tutoriel de Java String, StringBuffer et StringBuilder
- Tutoriel de gestion des exceptions Java
- Le Tutoriel de Java Generics
- Manipulation de fichiers et de répertoires en Java
- Le Tutoriel de Java BiPredicate
- Le Tutoriel de Java Consumer
- Le Tutoriel de Java BiConsumer
- Qu'est-ce qui est nécessaire pour commencer avec Java?
- L'histoire de Java et la différence entre Oracle JDK et OpenJDK
- Installer Java sur Windows
- Installer Java sur Ubuntu
- Installer OpenJDK sur Ubuntu
- Installer Eclipse
- Installer Eclipse sur Ubuntu
- Le Tutoriel Java pour débutant
- Histoire des bits et des bytes en informatique
- Types de données dans Java
- Opérations sur les bits
- Le Tutoriel de instruction Java If else
- Le Tutoriel de instruction Java Switch
- Les Boucles en Java
- Les Tableaux (Array) en Java
- JDK Javadoc au format CHM
- Héritage et polymorphisme en Java
- Le Tutoriel de Java Function
- Le Tutoriel de Java BiFunction
- Exemple de Java encoding et decoding utilisant Apache Base64
- Le Tutoriel de Java Reflection
- Invocation de méthode à distance en Java
- Le Tutoriel de Java Socket
- Quelle plate-forme devez-vous choisir pour développer des applications de bureau Java?
- Le Tutoriel de Java Commons IO
- Le Tutoriel de Java Commons Email
- Le Tutoriel de Java Commons Logging
- Comprendre Java System.identityHashCode, Object.hashCode et Object.equals
- Le Tutoriel de Java SoftReference
- Le Tutoriel de Java Supplier
- Programmation orientée aspect Java avec AspectJ (AOP)
Show More
- Tutoriels de programmation Java Servlet/JSP
- Tutoriels de Java Collections Framework
- Tutoriels Java API pour HTML & XML
- Tutoriels Java IO
- Tutoriels Java Date Time
- Tutoriels Spring Boot
- Tutoriels Maven
- Tutoriels Gradle
- Tutoriels Java Web Service
- Tutoriels de programmation Java SWT
- Tutoriels de JavaFX
- Tutoriels Java Oracle ADF
- Tutoriels Struts2
- Tutoriels Spring Cloud