当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


GO Div32用法及代码示例

GO语言"math/bits"包中"Div32"函数的用法及代码示例。

用法:

func Div32(hi, lo, y uint32)(quo, rem uint32)

Div32 返回 (hi, lo) 除以 y 的商和余数:quo = (hi, lo)/y, rem = (hi, lo)%y,被除数的上半部分在参数 hi 中,下半部分在参数 lo。 y == 0(除以零)或 y <= hi(商溢出)的 Div32 Panics。

例子:

package main

import (
    "fmt"
    "math/bits"
)

func main() {
    // First number is 0<<32 + 6
    n1 := []uint32{0, 6}
    // Second number is 0<<32 + 3
    n2 := []uint32{0, 3}
    // Divide them together.
    quo, rem := bits.Div32(n1[0], n1[1], n2[1])
    nsum := []uint32{quo, rem}
    fmt.Printf("[%v %v] / %v = %v\n", n1[0], n1[1], n2[1], nsum)

    // First number is 2<<32 + 2147483648
    n1 = []uint32{2, 0x80000000}
    // Second number is 0<<32 + 2147483648
    n2 = []uint32{0, 0x80000000}
    // Divide them together.
    quo, rem = bits.Div32(n1[0], n1[1], n2[1])
    nsum = []uint32{quo, rem}
    fmt.Printf("[%v %v] / %v = %v\n", n1[0], n1[1], n2[1], nsum)
}

输出:

[0 6] / 3 = [2 0]
[2 2147483648] / 2147483648 = [5 0]

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 Div32。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。