【问题标题】:I don't understand how Assembly works with ASCII?我不明白 Assembly 如何与 ASCII 一起工作?
【发布时间】:2010-12-03 17:58:08
【问题描述】:

我有一个程序应该获取值并将它们打印出来。但是当用户输入像 12 之类的东西时,(十六进制中的 C)程序会打印出一些奇怪的字母,我认为这是 ASCII 的表示。有没有办法让它将这些数字保存为原始数字?我是通过外部库做输入输出的,所以不知道有没有关系。

【问题讨论】:

    标签: assembly ascii hex


    【解决方案1】:

    有多种方法可以将数字存储在计算机中。主要有:

    • 作为本机二进制数。数字 123 将存储为八位字节:0x7b,如果使用大于一字节的整数,则使用零填充。零填充可以在左边(大端机器)或右边(小端机器)。
    • 作为字符串。假设 ASCII/Latin1/UTF-8,123 将存储为 0x31 32 33。可能先有一个长度字段(存储为本机二进制数),也可能有一个零字节 (0x00),以指示字符串的结束位置。
    • BCD。 123 将存储为 0x01 23。字节也可以按小端顺序存储,如 0x23 01。

    您需要弄清楚(希望文档说明)您的输入库想要什么格式以及输出库提供什么格式,并在您的程序中在它们之间进行转换。这种转换的通用名称是“二进制-十进制转换”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-10
      • 2021-03-30
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 2012-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多