考虑一台计算机,它具有根据大端方案以 32 位字组织的字节可寻址存储器。程序读取在键盘上输入的 ASCII 字符并将它们存储在连续的字节位置中,从位置 1000 开始。在输入名称“johnson”后,显示位置 1000 和 1004 处的两个内存字的内容。
user189028
问问题
10416 次
3 回答
3
只需使用方便的ASCII 表将每个字母转换为十六进制,然后按顺序将它们添加到内存中。这很容易呈现为华丽的 ASCII 图形:
+------+--+--+--+--+
|0x1000|6A|6F|68|6E|
+------+--+--+--+--+
最后四个字节被遗漏了,这毕竟是功课。
于 2009-10-13T11:38:19.230 回答
0
没有用于存储单个字节(例如 ASCII 字符)的字节序之类的东西。Endianes 仅在将值表示为多个字节时才起作用。因此,例如,在 little-endian 和 big-endian 中存储字节序列是相同的,只是字节的表示不同。例如,取数字 3 735 928 559(或十六进制表示法中的 0xdeadbeef)并将其作为 32 位字(例如,一个 int)存储在内存位置 1000 将给出:
ADR: 1000 1001 1002 1004
BE: de ad be ef
LE: ef be ad de
于 2017-03-11T21:27:09.230 回答
-2
我认为单词将具有下一个值:
1000: 0x6a6f686e
1004: 0x736f6e00
'因为名字只包含7个字符,8个字符是未知的,所以最后一个位置(00)可能有任何值。
于 2009-10-13T11:42:04.653 回答