存儲字元空間
① 在計算機內存中要存放256個ASCII碼字元,需多大存儲空間
ascii碼換算的最小單位是位元組,所以在計算機內存中要存放256個ASCII碼字元,需要256個位元組的存儲空間。
位元組(Byte)是存儲數據的基本單位,並且是硬體所能訪問的最小單位。CPU 只能直接處理內存數據,不能直接處理硬碟數據。硬碟數據必須先調入內存條中才可以運行。內存中存儲數據的最小單位是「位(Bit)」。位元組是存儲數據的基本單位,位是存儲數據的最小單位,不要混淆了。
內存裡面存放的全是二進制代碼。內存裡面有很多「小格子」,每個「格子」中只能存放一個 0 或 1。一個「小格子」就是一位,所以「位」要麼是 0,要麼是 1,不可能有比位更小的單位。那麼位元組和位是什麼關系呢?8 個「小格子」就是一位元組,即一位元組等於 8 位。
(1)存儲字元空間擴展閱讀:
計算機存儲信息的基本單位稱存儲元件,每個存儲元件是一個二進制位,一位可存放一個二進制數0或1。每8位組成一個位元組。由於8086CPU是16位數據匯流排,則其字長是16位,由2個位元組組成。
在存儲器內是以位元組為單位來存儲信息的,因而對存儲器的編址是按位元組編址,從而使CPU根據地址編號找到存儲器中的操作數或者說CPU根據地址編號訪問該存儲單元的內容地址從0開始編號;
順序地每個地址加1,在計算機內地址也是用二進制數表示,地址是一個無符號整數,為了書寫方便和編程,在源程序中常用十六進制數或符號來表示一個存儲單元的地址。
② 在計算機內存中要存放256個ASCII碼字元,需( )的存儲空間 高手指點為什麼要存放256個位元組,是什麼意思
ASCII碼劃分為兩個集合:128個字元的標准ASCII碼和附加的128個字元的擴充和ASCII碼。標准ASCII碼為7位,擴充為8位。
ascii,美國標准信息交換碼,使用1個位元組(8位二進制)的低7位,用於存儲字元,編號從0開始到127,所以答案是7位二進制沒有錯。
但由於浪費了1位,所以又進行了改進,添加了一些製表符,從而將8位全部使用,而現在的計算機系統中使用的ascii,全部使用擴展的ascii,但平時不再說擴展ascii碼。都稱為ascii。
(2)存儲字元空間擴展閱讀:
在計算機中,所有的數據在存儲和運算時都要使用二進制數表示(因為計算機用高電平和低電平分別表示1和0),例如,像a、b、c、d這樣的52個字母(包括大寫)以及0、1等數字還有一些常用的符號(例如*、#、@等)在計算機中存儲時也要使用二進制數來表示。
而具體用哪些二進制數字表示哪個符號,當然每個人都可以約定自己的一套(這就叫編碼),而大家如果要想互相通信而不造成混亂,那麼大家就必須使用相同的編碼規則,於是美國有關的標准化組織就出台了ASCII編碼,統一規定了上述常用符號用哪些二進制數來表示。
③ 存儲字元串「a」需要至少佔用存儲空間中的幾個位元組
存儲字元串「a」需要至少佔用存儲空間中的2個位元組。
字元串是用雙引號(「」)括起來的由零個或多個字元組成的有限序列。字元串在存儲上是使用單個字元代碼的數組,每個字元佔用一個位元組。由於每個字元串尾自動加一個『\0』作為字元串結束標志。
所以字元串「a」的長度使用單字元'a'和單字元『\0』共2個單字元代碼的數組進行存儲,即佔用存儲空間中的2個位元組。
(3)存儲字元空間擴展閱讀:
在程序設計中,字元串通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。
由於在程序中經常出現大量String對象的值相同的情況,造成內存空間的冗餘。為了有效地利用內存,預留了一塊特殊的內存區域,稱為String常量池。當編譯器遇到一個String常量時,先檢查常量池中是否存在值相同的String常量,如果存在,則把該常量的引用指向常量池中的String常量。