casting - 整数是如何在底层转换为字符串的?

标签 casting numbers tostring

我认为真正的问题是如何将 base2/binary 转换为 base10。最常见的应用可能是创建输出字符串:将二进制数字数据 block 转换为字符数组。这具体是如何完成的?

我的猜测: 鉴于可能没有为每个数值预定义一个字符串,我猜测计算机从右到左遍历整数的每一位,每次递增 char 数组/base10 表示法位置中的适当值。如果我们取二进制数 160 (10100000),它就会知道第 8 位的 1 表示 128,因此它将 1 放入第三列,2 放入第二列,8 放入第三列。第 6 列中的 1 表示 32,它会将这些值添加到第二位和第一位,并在需要时继续保留。之后就可以轻松转换为实际的字符代码。

最佳答案

while number != 0:
    nextdigit = number % 10
    AddToLeft(result, convert nextdigit to char)
    number = number / 10

留给读者处理零和负数的练习。

关于casting - 整数是如何在底层转换为字符串的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2504263/

相关文章:

c - 类型转换为其中包含另一个结构 ptr 的结构

ios - 从 'const b2Shape*' 到 'b2PolygonShape*' 的动态转换会放弃限定符吗?

java - 涉及交叉类型转换的设计模式的名称

javascript - 你能帮我理解代码吗?任务是找到第一个非连续数字

java - ToString 实现共享多个类

c - 我应该避免转换指针吗?

html - 如何将 Chrome 设置为使用句点作为小数而不是逗号?

java - 如何创建一个循环来生成随机数,直到它与我的用户输入匹配?

c++ - 为用户定义的枚举覆盖 std::to_string 是否是为用户定义的枚举提供 to_string 的正确方法?

java - 在 switch-case 中使用枚举值的字符串表示