V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
supman
V2EX  ›  问与答

求教 咋用数组来存储一个特别大的数字呢?

  •  
  •   supman · 2015-03-24 13:00:36 +08:00 · 2124 次点击
    这是一个创建于 3537 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如一个超出long类型的数据, 据说可以使用数组来存储, 想问问是咋实现的. 谢谢啦

    5 条回复    2015-03-24 15:28:42 +08:00
    SeanChense
        1
    SeanChense  
       2015-03-24 13:38:14 +08:00
    比如 1024 就存成 [1][0][2][4] ,这样的数组。
    evlos
        2
    evlos  
       2015-03-24 13:42:37 +08:00 via iPhone
    @SeanChense +1

    然后自己写计算函数或者找相关的库。
    Mutoo
        3
    Mutoo  
       2015-03-24 13:44:03 +08:00
    想要省点空间,可以用八四二一码:
    http://en.wikipedia.org/wiki/Binary-coded_decimal
    stackpop
        4
    stackpop  
       2015-03-24 14:17:45 +08:00
    array[0] = 1
    array[1] = 0
    array[2] = 2
    array[3] = 4

    如果是十进制,那么该数组就表示1024
    如果是100进制,那么该数组就是1 * 100 * 100 + 100 + 0 * 100 * 100 + 2 * 100 + 4 * 1

    类似这样
    mfaner
        5
    mfaner  
       2015-03-24 15:28:42 +08:00
    像Java里的BigInteger内部就是数组,可以看源代码
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5295 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 09:24 · PVG 17:24 · LAX 01:24 · JFK 04:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.