我嘗試將字符串存儲到一個整數如下字符串:保存在一個int
我讀的字符串的字符,每4個字符我這樣做:
val = (int) ch << 24 | (int) ch << 16 | (int) ch << 8 | (int) ch;
然後我把整數值,稱爲內存整數數組(=> int memory[16]
)。
我想以一種自動的方式爲每一個字符串的長度做到這一點,再加上我很難再次爲任意大小的字符串反轉該過程。任何幫助?
編輯:
(從下方)
基本上,我做在JAVA的練習。這是一個MIPS模擬器系統。我有註冊,基準,指令,標籤,控制,APSImulator類和其他。當我嘗試從一個數組加載程序到模擬器的內存時,我實際上讀取了被稱爲'程序'的數組的所有內容並將其放入內存中。內存是2048長,32位寬。寄存器也是32位整數。所以當數組中有像Datum.datum(「string」)這樣的內容時 - Datum類有IntDatum和StringDatum子類 - 我有辦法將「字符串」存儲在模擬器的內存數據段中。內存是0-1023文本和1024-2047數據區域。我也必須用空字符分隔字符串 - 加上任何檢查完整的內存等我找出一種方法來存儲字符串MemContents(引用類型 - 空接口 - 由類實現的內存字段屬於)是將字符串每個(2或4個符號)存儲到一個寄存器,然後取出寄存器的內容並將其存儲在內存中。所以,我發現很難實現這一點,反過程也是如此。
你能保證輸入的長度是4個字符的整數倍? – 2009-11-22 23:34:00
您是使用C還是Java?您使用兩種語言標記 – 2009-11-22 23:34:54
爲什麼要在int數組中使用?不會有char數組是更直接嗎? – 2009-11-22 23:35:30