代码之家  ›  专栏  ›  技术社区  ›  ʞɔıu

拆分一个非2次幂的整数

  •  0
  • ʞɔıu  · 技术社区  · 16 年前

    halfintR = some32bitint & 0xFFFF
    halfintL = some32bitint >> 16
    

    (假设你想把你的范围限制在一组整数上,这些整数可以放在4位以52为底的无符号空间中)

    3 回复  |  直到 16 年前
        1
  •  1
  •   laalto    16 年前

    您可以使用以下内容

    rightDigits = number % 2704 // 52 squared
    leftDigits = number / 2704
    
        2
  •  1
  •   Patrick McDonald    16 年前

    & 0xffff % 0x10000 >> 16 / 0x10000

        3
  •  1
  •   Pierre    16 年前

    & >> 用于做 modulo division

    lower = some4DigitsNumberBase52 % (52 * 52)
    upper = some4DigitaNumberBase52 / (52 * 52)
    

    这是进行基础计算的基础。您还可以从显示特定基数中的数字的算法中得出解决方案:如何得出最右侧的两位数字和最左侧的两位数据。