当前位置: 首页 > 知识库问答 >
问题:

MIPS将二进制转换为ascii字符串

壤驷雅达
2023-03-14
0000 0010 0001 0001 0100 0000 0010 0000

看看我是否曲解了这些问题,下面是它的全部内容:

一个32位字没有固有的意义,可以用许多同样有效的方式来表示。将以下内容解码为二进制表示、指令、正整数和四个字符的ASCII字符串。

0000 0010 0001 0001 0100 0000 0010 0000

共有1个答案

公孙宏远
2023-03-14

据我所知,您被告知将每8位变为一个ascii字符,但前2个字节是“不可打印的”(2是ascii表示“文本开始”,17是ascii表示“设备控制1”),所以如果输出似乎关闭,这不是您的错,只需简单地更改数字,看看它是否工作良好。

F.E.:

0100 0001 0100 1100 0100 0101 0101 1000

通过简单的编码,我们就知道这些位代表什么了(剧透警报:这是我的名字:))

.text
main:

li  $v0, 5
syscall


andi    $t1, $v0, 0xFF000000
srl $t1, $t1, 24

andi    $t2, $v0, 0x00FF0000
srl $t2, $t2, 16

andi    $t3, $v0, 0x0000FF00
srl $t3, $t3, 8

andi    $t4, $v0, 0x000000FF

li  $v0, 11

la  $a0, ($t1)
syscall

la  $a0, ($t2)
syscall

la  $a0, ($t3)
syscall

la  $a0, ($t4)
syscall


li  $v0, 10
syscall
 类似资料:
  • 我如何将一个写为二进制的字符串转换为二进制(字节数组)? 如果我有一个字符串: 下面是当我将二进制设置为字节数组时发生的情况(字节数组返回48,这是ASCII) 我不擅长解释,所以希望上面的例子足以告诉你我想要什么。

  • 假设我有以下字符串: 如何将其转换为二进制数(0和1)?诀窍在于:我不允许使用内置方法进行转换。这必须用数学方法来完成。我不知道从哪里开始。谁能给我指出正确的方向吗? 编辑1:我看过这个问题,人们建议使用getBytes(字符串)、字符集UTF-8,我nteger.toBinaryString。我不允许使用任何这些方法进行转换。我也没听说过36垒。

  • 问题内容: 我想将十六进制字符串转换为二进制字符串。例如,十六进制2是0010。下面是代码: 但是,这仅适用于十六进制0-9;它不适用于十六进制A-F,因为它使用。谁能增强它? 问题答案: 您需要告诉Java int是十六进制的,如下所示:

  • 返回指定ASCII字符串的16进制表示。 调用: web3.utils.asciiToHex(string) web3.utils.fromAscii(string) // 别名,已弃用 参数: string - String: ASCII字符串 返回值 String: 16进制字符串 示例代码: web3.utils.asciiToHex('I have 100!'); > "0x492068

  • 返回指定16进制值的ASCII字符串表示。 调用: web3.utils.hexToAscii(hex) web3.utils.toAscii(hex) // 别名,已弃用 参数: hex - String: 16进制字符串 返回值: String: ASCII字符串 示例代码: web3.utils.hexToAscii('0x4920686176652031303021'); > "I ha

  • 问题内容: 我想将二进制字符串转换为数字Eg 这怎么可能?谢谢 问题答案: 该函数将字符串转换为数字,并使用第二个参数来指定字符串表示形式的基数: 看到它在行动 。