65536用二進制怎么表示 65536在計算機內(nèi)的2進制是多少?
65536在計算機內(nèi)的2進制是多少?首先,不能將65536 Int存儲為兩個字節(jié)的容器,這意味著只能加載16位。因為65535的二進制表示是:10000000000有17位,所以我們只取最后16位為1
65536在計算機內(nèi)的2進制是多少?
首先,不能將65536 Int存儲為兩個字節(jié)的容器,這意味著只能加載16位。因為65535的二進制表示是:10000000000有17位,所以我們只取最后16位為100000000000000。因此,當(dāng)我們將65536賦給一個無符號整數(shù)時,我們只加載16位,因此最終結(jié)果是0截斷一個topic:topic prototype:Main(){double x=2.71828 printf(%d“,x)}以找到x的輸出:我自己的答案:首先找出double type在內(nèi)存中的存儲模式:然后取其最后32字節(jié)。2.71828的二進制表示為10.10110,用二進制科學(xué)記數(shù)法表示為1.010110*2的冪,所以2.71828在內(nèi)存中的表示是0符號位,順序碼101100000000000000000000000000000000000000000000的尾數(shù)部分是:010100000010000000000000000000000000000000000000000000000是在最后32位輸出的,但是我測試了一個像main(){int a=300 printf(%C“,a) }因為300在內(nèi)存中是100101100,而且%C輸出一個8位字符,所以它是00101100=44。也就是說,ASCII為44的輸出是“,”,已經(jīng)過測試,是正確的。今天這兩個原理是一樣的,我認真計算了內(nèi)存中的2.71828,真正的存儲是這樣的:010000000000101111110000110010101010111101100110000,我們拿出32位是10010101011110110010000,找出他原來的代碼是:-(110101001010101000011011111)1)=-110101001010101000011110000=-1783957616,如果是TC,則只有最后16位是1111011110010000,這也是負數(shù)。結(jié)果是-2160,所以最終結(jié)果是:VC:-1783957616:TC:-2160
一般來說,二進制“0”表示0,應(yīng)該說有進位標志。一個16位二進制數(shù)可以表示的最大數(shù)是“2減去1的16次方”,即65535。將其寫入二進制文件是“111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111。如果將1與65535相加,將出現(xiàn)進位,二進制將變?yōu)椤?000000000000000”(“1”后跟16“0”),因此它是一個17位二進制數(shù)。但是當(dāng)只有16位二進制空間時,它就變成了“100000000000000”(16個零)。如果沒有進位標志,則數(shù)字被解釋為0(即655351=0)。如果存在進位標志,則當(dāng)在操作中發(fā)生進位時,進位標志被設(shè)置為“1”,并且可以知道在進位之后獲得16“0”,則該數(shù)字被理解為65536。BCD碼也是如此。BCD碼用4位二進制數(shù)表示1位十進制數(shù),16位BCD碼能表示的最大數(shù)為9999。9999 1=0000進位,如果沒有判斷進位標志,則結(jié)果為0,如果判斷進位標志,則結(jié)果為10000。
在二進制計數(shù)時“0”為什么表示65536?
實模式下的尋址模式:這是由實模式下的寄存器決定的,因為寄存器只能使用16位,也就是說,地址中可以標記16位二進制數(shù)的地址單元,即所謂的段地址只能查找16位的數(shù)據(jù)。
Address物理地址(內(nèi)存),每個字節(jié)一個地址。
因此,最大地址可以表示2的第16次方地址,即尋址容量僅為64K。由于缺少實模式地址,無法運行大于64K的程序,因此偏移地址可用作段內(nèi)偏移。對于段地址,可以從20位CPU地址獲得。因此,段地址和偏移地址的左移四位之和就是實際的物理地址。
為什么要表示65536個不同的二進制數(shù)需要64k個字節(jié)?
1、4字節(jié)表示的整數(shù)數(shù)為2^32≈40億,2字節(jié)表示的無符號整數(shù)數(shù)為2^16≈60000。
2、2G=2^31b≈20億字節(jié)。
3、為了找出出現(xiàn)次數(shù)最多的數(shù)字,應(yīng)記錄每個數(shù)字的出現(xiàn)次數(shù)。最快的方法是記錄每個數(shù)字在內(nèi)存中出現(xiàn)的次數(shù)。記錄方法是記錄相應(yīng)的存儲器地址數(shù)和相應(yīng)地址的存儲器單元數(shù)。但是,2G內(nèi)存只能記錄20億字節(jié)的數(shù)字,如果每個數(shù)字的出現(xiàn)次數(shù)大于255則會發(fā)生溢出,沒有風(fēng)險。因此,這種方案是不可取的。
4、這樣,磁盤上只能記錄每次出現(xiàn)的次數(shù)。這樣,就在磁盤上創(chuàng)建了一個16g文件。每4個字節(jié)對應(yīng)一個整數(shù),可以對應(yīng)40億個整數(shù)。用于記錄相應(yīng)整數(shù)的個數(shù)。
1. 初始化文件。
2. 依次讀取數(shù)據(jù)并用無符號整數(shù)記錄在磁盤文件中。如果發(fā)生溢出,則該數(shù)字是次數(shù)最多的數(shù)字。
3. 從文件中讀取每個數(shù)字的次數(shù),用變量a記錄最高次數(shù),用變量B記錄最高次數(shù)的數(shù)據(jù),用文件依次記錄最高次數(shù)的數(shù)據(jù)。當(dāng)最大次數(shù)增加時,a1和B被設(shè)置為1,并且該數(shù)字被寫入文件中。當(dāng)出現(xiàn)相同次數(shù)的數(shù)字b1時,該數(shù)字被寫入文件的相應(yīng)位置,直到全部被讀取為止。
所以您根本不需要2G內(nèi)存。