gpt4 book ai didi

c - Computet 是否将每个 ASCII 数字(二进制​​)转换为其等价数字(二进制​​)?

转载 作者:行者123 更新时间:2023-11-30 21:27:02 25 4
gpt4 key购买 nike

computet 是否将每个 ASCII 数字(二进制​​)转换为其等价数字(二进制​​)?假设如果输入 9,则其 ascii 值将为 00111001,并且我们知道 9 的二进制值为 1001,那么计算机如何将 9 的 ascii 值转换为二进制 9。

最佳答案

只有在进行算术运算时,位模式才代表数字计算机的数值。 (可以创建一台甚至不进行算术运算的数字计算机。)

将位模式描述为数字是为了方便人类。十六进制是最常见的形式,因为它很紧凑,以易于辨别的方式表示每个位,并且与存储宽度(例如 8 位的倍数)很好地对齐。

如何解释位模式取决于上下文。该上下文是由遵循约定和标准的程序驱动的,其中绝大多数超出了计算机硬件本身的范围。

一些位模式是程序。某些位可以标识操作,有些位可以标识寄存器,有些位可以标识指令位置,有些位可以标识数据位置,有些位可以标识数值。

如果您有一个位模式,您打算表示字符“9”,那么只要它流经内置或带有该解释的程序,它就会执行此操作。为了方便起见,我们将字符的位模式称为“字符代码”。

您可以编写一个程序,将字符“9”的位模式转换为数字值 9 的特定表示形式的位模式。下面是实现此目的的一种方法。

C 要求某些字符是可表示的,包括数字“0”到“9”,并且这些字符的字符代码在解释为数字时是连续且递增的。

数轴上两个数字相减可以测量它们之间的距离。所以,在C语言中,任何十进制数字字符的字符减去“0”的字符代码就是该数字与“0”之间的距离,即该数字的数值。

'9' - '0'

等于 9,因为 C 中对字符代码的位模式和整数的位模式有要求。

注意:二进制表示通常不太人性化。当十六进制会掩盖讨论的细节时使用它。

注意:C 不需要 ASCII。 ASCII 只是一种满足 C 要求的字符集和字符编码。有许多字符集是 ASCII 的超集并与其兼容。您可能正在使用其中之一。

关于c - Computet 是否将每个 ASCII 数字(二进制​​)转换为其等价数字(二进制​​)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55439189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com