當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


GO Div64用法及代碼示例

GO語言"math/bits"包中"Div64"函數的用法及代碼示例。

用法:

func Div64(hi, lo, y uint64)(quo, rem uint64)

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

例子:

package main

import (
	"fmt"
	"math/bits"
)

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

	// First number is 2<<64 + 9223372036854775808
	n1 = []uint64{2, 0x8000000000000000}
	// Second number is 0<<64 + 9223372036854775808
	n2 = []uint64{0, 0x8000000000000000}
	// Divide them together.
	quo, rem = bits.Div64(n1[0], n1[1], n2[1])
	nsum = []uint64{quo, rem}
	fmt.Printf("[%v %v] / %v = %v\n", n1[0], n1[1], n2[1], nsum)
}

輸出:

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

相關用法


注:本文由純淨天空篩選整理自golang.google.cn大神的英文原創作品 Div64。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。