Rumah  >  Soal Jawab  >  teks badan

java - int占4字节,一数占一字符,为什么int能表示5位以上的数字?

我知道这个问题~有点无厘头和傻乎乎。还是想请人解答一下~
----------可能目前脑子正处于抽风阶段----------
首先,我知道int占4个字节,包含正负2的31次方内的数字,也就是基本可以表示10位数字。
那么根据Ascll里,一个数字占用一个字节的规则来思考。
我让int按照这种规则来储存数字,是不是应该只能储存最多4位数字???
还请明白人~指出我这样思考的错误点在哪里?或者告知正确的解答方式~。

高洛峰高洛峰2766 hari yang lalu1627

membalas semua(16)saya akan balas

  • 怪我咯

    怪我咯2017-04-18 09:28:53

    Kaedah perwakilan aksara dan nilai berangka adalah berbeza Nombor dalam kod ASCII bukan nilai berangka, tetapi aksara diwakili oleh pengekodan Oleh itu, setiap aksara berangka menduduki 7 bit (kod ASCII lanjutan menduduki 8 bit). . Sebagai contoh, 12, dinyatakan sebagai 0110001 0110010 dalam kod ASCII (ia mewakili rentetan yang terdiri daripada satu atau dua aksara angka, dan tidak mempunyai maksud saiz dua belas), dan dinyatakan sebagai 00000000 00000000 00000000000000 yang Mewakili integer dengan nilai dua belas Dua nombor satu dan dua tidak boleh dibahagikan. . Ringkasnya, kaedah mewakili nilai berangka dan aksara dalam komputer adalah berbeza, dan int tidak diwakili oleh kod ascii

    balas
    0
  • ringa_lee

    ringa_lee2017-04-18 09:28:53

    ASCII mentakrifkan ungkapan aksara, bukan ungkapan nombor Cara komputer menyimpan nombor dan rentetan adalah berbeza.

    balas
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:28:53

    Apa yang disimpan oleh komputer adalah binari A bait mempunyai 8 bit. Nilai maksimum boleh dinyatakan ialah 11111111 32 bit Nilai maksimum yang boleh dinyatakan ialah 2 hingga ke-32 kuasa -1 Anda akan faham jika anda memahami prinsip-prinsip mikrokomputer. Pada masa yang sama, kerana bit pertama biasanya bit tanda, menunjukkan positif dan negatif, 0 adalah positif dan 1 adalah negatif, jadi nombor yang ditandatangani ialah 2 hingga kuasa ke-31 -1. Panjang perkataan int, long, double, dsb. ialah konvensyen pengkompil Contohnya, int mesin 16-bit awal ialah 16 bit, dan nilai maksimum ialah 65535. Dalam versi VS terkini, int ialah 4. bait dan 32 bit.
    Saya baru terlepas pengekodan ASCII menduduki satu aksara, iaitu 8 bit Anda akan faham jika anda melihat pada jadual 4 bit tinggi dan 4 bit rendah membentuk jadual kepada 256 aksara. ASCII sebenarnya adalah rentetan.

    balas
    0
  • 怪我咯

    怪我咯2017-04-18 09:28:53

    Rasanya seperti dua perkara. Had yang int menduduki 4 bait boleh memberi anda ialah nilai maksimum yang boleh dicapai oleh int. AscII mengatakan bahawa ruang yang diduduki oleh nombor ialah satu bait, yang sepatutnya menjadi ruang fizikal dan berapa banyak ruang yang didudukinya. Secara teorinya, ruang ini boleh menjadi tidak terhingga besar, selagi cakera keras cukup, ia boleh menjadi tidak terhingga panjang. 4 bait int merujuk kepada ruang yang diduduki oleh nilai yang diisytiharkan Nilai yang diisytiharkan akan melimpah apabila ia mencapai had atas dan bawah tertentu (tambah atau tolak 2 hingga kuasa ke-31). Tidak kira betapa besar cakera keras anda, sekatan ini tidak akan berubah pada mesin yang sama. Ini adalah bagaimana saya memahaminya. Saya tertanya-tanya jika anda boleh memahaminya.

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:28:53

    Nombor dalam

    ascii merujuk kepada '1', iaitu sudut watak. Sudut adalah berbeza dan mereka tidak boleh dikelirukan sama sekali.

    balas
    0
  • 黄舟

    黄舟2017-04-18 09:28:53

    ASCII ialah spesifikasi pengekodan, dan int ialah jenis storan dalam ingatan. Sama seperti kereta mempunyai maksimum 5 orang, polis trafik akan menghukum anda jika terdapat lebih ramai orang Ini adalah int, dan siapa di dalamnya, apakah namanya, dan apakah nombor ID ini dikawal oleh ASCII kod.

    balas
    0
  • 怪我咯

    怪我咯2017-04-18 09:28:53

    int = 4 bait (Byte), bukan 4 bit (bit)

    1 bait = 8 bit

    1 bit = 0 atau 1

    1 bait = 0-255


    Dan sistem perpuluhan dalam kehidupan sebenar:
    Satu digit perpuluhan = 0-9
    Penuh 10s kepada 1
    Begitu juga dengan sistem binari
    1bit = 0-1
    Penuh 1s menjadi 1
    Perwakilan binari int 0 ialah: 00000000000000000000000000000
    Hasil +1 ialah: 00000000000000000000000000000000000000000000000 000000 Hasil penambahan 0000000000000000010
    dan kemudian +1 ialah: 00000000000000000000000000000100
    dan kemudian +1000: 0000000000000000000001111101011

    balas
    0
  • 黄舟

    黄舟2017-04-18 09:28:53

    Satu, dua dan dua belas adalah dua konsep yang berbeza. 1 bait ialah nombor binari 8-bit, jadi int boleh mewakili nombor dalam 2 hingga kuasa ke-31. Sebagai contoh, 1212, jika ia disimpan dalam ASCII, ia adalah satu dua satu dua, jika ia disimpan dalam int, ia adalah seribu dua ratus dua belas

    balas
    0
  • 怪我咯

    怪我咯2017-04-18 09:28:53

    int menyimpan nombor, bukan char

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:28:53

    Satu bait ialah 8 bit
    4 bait ialah 32 bit
    Jadi int ialah 32 bit
    Tetapi int ialah integer bertanda,
    Nombor maksimum yang boleh diwakili ialah 31 1s
    Iaitu, 2 hingga kuasa ke-31 - 1

    balas
    0
  • Batalbalas