我尝试将字符串存储到一个整数如下字符串:保存在一个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