Maison > Questions et réponses > le corps du texte
我知道这个问题~有点无厘头和傻乎乎。还是想请人解答一下~
----------可能目前脑子正处于抽风阶段----------
首先,我知道int占4个字节,包含正负2的31次方内的数字,也就是基本可以表示10位数字。
那么根据Ascll里,一个数字占用一个字节的规则来思考。
我让int按照这种规则来储存数字,是不是应该只能储存最多4位数字???
还请明白人~指出我这样思考的错误点在哪里?或者告知正确的解答方式~。
怪我咯2017-04-18 09:28:53
Les méthodes de représentation des caractères et des valeurs numériques sont différentes. Les nombres dans le code ASCII ne sont pas des valeurs numériques, mais des caractères représentés par encodage. Par conséquent, chaque caractère numérique occupe 7 bits (le code ASCII étendu occupe 8 bits). . Par exemple, 12, est exprimé par 0110001 0110010 en code ASCII (il représente une chaîne composée d'un ou deux caractères numériques, et n'a pas la signification de la taille de douze), et est exprimé par 00000000 00000000 00000000 00001010 en int, qui représente un entier de valeur douze. Les deux nombres un et deux sont indivisibles. . Bref, les méthodes de représentation des valeurs numériques et des caractères dans l'ordinateur sont différentes, et int n'est pas représenté par du code ascii
ringa_lee2017-04-18 09:28:53
ASCII définit l'expression des caractères, pas l'expression des nombres. La façon dont les ordinateurs stockent les nombres et les chaînes est différente.
巴扎黑2017-04-18 09:28:53
Ce que l'ordinateur stocke réellement est binaire. Un octet a 8 bits. Il est exprimé en binaire. La valeur maximale peut être exprimée est 11111111, soit 2 à la puissance 8 - 1. De même, 4 octets ont 32 bits. La valeur maximale pouvant être exprimée est de 2 à la puissance 32 -1. Vous comprendrez si vous comprenez les principes des micro-ordinateurs. Dans le même temps, puisque le premier bit est généralement le bit de signe, indiquant le positif et le négatif, 0 est positif et 1 est négatif, donc le nombre signé est 2 à la puissance 31 -1. La longueur des mots int, long, double, etc. est la convention du compilateur. Par exemple, l'int des premières machines 16 bits est de 16 bits et la valeur maximale est de 65 535. Dans la dernière version de VS, int est de 4. octets et 32 bits.
J'ai raté de peu l'encodage ASCII. Un code ASCII occupe un caractère, soit 8 bits. Vous comprendrez si vous regardez le tableau. Les 4 bits forts et les 4 bits faibles forment un tableau, il peut donc représenter. à 256 caractères. ASCII est en fait une chaîne.
怪我咯2017-04-18 09:28:53
Cela ressemble à deux choses. La limitation que int occupe 4 octets peut vous donner est la valeur maximale que int peut atteindre. AscII dit que l'espace occupé par un nombre est d'un octet, ce qui devrait être l'espace physique et l'espace qu'il occupe. Théoriquement, cet espace peut être infiniment grand, tant que le disque dur est suffisant, il peut être infiniment long. Les 4 octets de int font référence à l'espace occupé par la valeur déclarée. Si la valeur déclarée atteint une certaine limite supérieure et inférieure (plus ou moins 2 à la puissance 31), elle débordera. Quelle que soit la taille de votre disque dur, cette restriction ne changera pas sur des machines identiques. C'est ainsi que je le comprends. Je me demande si vous pouvez le comprendre.
伊谢尔伦2017-04-18 09:28:53
Le nombre entre
ascii
fait référence à '1'
, qui est l'angle du personnage. Les angles sont différents et ne peuvent pas du tout être confondus.
黄舟2017-04-18 09:28:53
ASCII est la spécification d'encodage et int est le type de stockage en mémoire. Tout comme une voiture contient un maximum de 5 personnes, la police de la circulation vous punira s'il y a plus de personnes. C'est int, et qui est à l'intérieur, quel est son nom et quel est le numéro d'identification. Ceci est réglementé par ASCII ? code.
怪我咯2017-04-18 09:28:53
int = 4 octets (Byte), pas 4 bits (bit)
1 octet = 8 bits
1 bit = 0 ou 1
1 octet = 0-255
Et le système décimal dans la vraie vie :
Un chiffre décimal = 0-9
10s complètes en 1
La même chose est vraie pour le système binaire
1bit = 0-1
Complet 1s en 1
La représentation binaire d'un int 0 est : 000000000000000000000000000000
Le résultat de +1 est : 00000000000000000000000000000001
Le résultat de +1 est : 000000000 0000 Le résultat de l'ajout de 0000000000000000010
puis +1 est : 00000000000000000000000000000000100
puis +1000 : 000000000000000000000001111101011
黄舟2017-04-18 09:28:53
Un, deux et douze sont deux concepts différents. 1 octet est un nombre binaire de 8 bits, donc int peut représenter un nombre compris entre 2 et la puissance 31. Par exemple, 1212, s'il est stocké en ASCII, c'est un deux un deux, s'il est stocké en int, c'est mille deux cent douze
伊谢尔伦2017-04-18 09:28:53
Un octet fait 8 bits
4 octets font 32 bits
Donc int vaut 32 bits
Mais int est un entier signé,
Le nombre maximum qui peut être représenté est de 31 1s
C'est-à-dire 2 à la puissance 31 - 1