Documentation ¶
Index ¶
- func Float64ToInt64(f float64) int64
- func Float64ToUint64(f float64) uint64
- func FromBytes[T constraints.Number](bytes []byte) T
- func Int64ToFloat64(f int64) float64
- func Int64ToUint64(f int64) uint64
- func ToBytes[T constraints.Number](t T) []byte
- func Uint64ToFloat64(f uint64) float64
- func Uint64ToInt64(f uint64) int64
- func ViewBin(v any)
- type Num64
- func (b Num64) At(leftIdx int) bool
- func (b Num64) Float() float64
- func (b Num64) Int() int64
- func (b Num64) Num8(leftIdx int) bool
- func (b Num64) RangeInt(leftIdx, rightIdx int) int64
- func (b Num64) RangeUint(leftIdx, rightIdx int) uint64
- func (b Num64) SetAt(leftIdx int, v bool) Num64
- func (b Num64) SetRange(l, r int, v bool) Num64
- func (b Num64) Uint() uint64
- type Uint8
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Float64ToInt64 ¶
func Float64ToUint64 ¶
func FromBytes ¶
func FromBytes[T constraints.Number](bytes []byte) T
func Int64ToFloat64 ¶
func Int64ToUint64 ¶
func ToBytes ¶
func ToBytes[T constraints.Number](t T) []byte
func Uint64ToFloat64 ¶
func Uint64ToInt64 ¶
func ViewBin ¶
func ViewBin(v any)
Sizeof函数返回的大小只包括数据结构中固定的部分,例如字符串对应结构体中的指针和字符串长度部分,但是并不包含指针指向的字符串的内容。Go语言中非聚合类型通常有一个固定的大小,尽管在不同工具链下生成的实际大小可能会有所不同。考虑到可移植性,引用类型或包含引用类型的大小在32位平台上是4个字节,在64位平台上是8个字节。
计算机在加载和保存数据时,如果内存地址合理地对齐的将会更有效率。例如2字节大小的int16类型的变量地址应该是偶数,一个4字节大小的rune类型变量的地址应该是4的倍数,一个8字节大小的float64、uint64或64-bit指针类型变量的地址应该是8字节对齐的。但是对于再大的地址对齐倍数则是不需要的,即使是complex128等较大的数据类型最多也只是8字节对齐。
由于地址对齐这个因素,一个聚合类型(结构体或数组)的大小至少是所有字段或元素大小的总和,或者更大因为可能存在内存空洞。 1字节(byte)=8位(bit) 在16位系统中,1字(word)=2字节(byte)=16位(bit) 在32位系统中,1字(word)=4字节(byte)=32位(bit) 在64位系统中,1字(word)=8字节(byte)=64位(bit)
Types ¶
type Num64 ¶
type Num64 uint64
const (
BaseNaN Num64 = 0x7FF8000000000001
)
func Float64ToNum64 ¶
func Int64ToNum64 ¶
func Uint64ToNum64 ¶
Click to show internal directories.
Click to hide internal directories.