gpt4 book ai didi

string - 编译器如何将整数转换为字符串,反之亦然

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:31:46 24 4
gpt4 key购买 nike

许多语言都有将字符串转换为整数的函数,反之亦然。那么那里发生了什么?转换过程中正在执行什么算法?

我没有用特定的语言来问,因为我认为所有的语言都应该是相似的。

最佳答案

要将字符串转换为整数,请依次获取每个字符,如果它在“0”到“9”的范围内,则将其转换为等效的十进制。通常这只是简单地减去 '0' 的字符值。现在将任何先前的结果乘以 10 并添加新值。重复直到没有数字为止。如果前导“-”减号,则反转结果。

要将整数转换为字符串,首先将数字取反(如果它是负数)。将整数除以 10 并保存余数。通过添加字符值 '0' 将余数转换为字符。将其推到字符串的开头;现在重复您从除法中获得的值。重复直到分值为零。如果数字开始为负数,请在前导“-”减号。

下面是Python的具体实现,我认为Python是最接近伪代码的语言。

def string_to_int(s):
i = 0
sign = 1
if s[0] == '-':
sign = -1
s = s[1:]
for c in s:
if not ('0' <= c <= '9'):
raise ValueError
i = 10 * i + ord(c) - ord('0')
return sign * i

def int_to_string(i):
s = ''
sign = ''
if i < 0:
sign = '-'
i = -i
while True:
remainder = i % 10
i = i / 10
s = chr(ord('0') + remainder) + s
if i == 0:
break
return sign + s

关于string - 编译器如何将整数转换为字符串,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7123490/

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