c/算数运算.go

127 lines
7.5 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package c
import (
"math"
"math/rand"
"time"
"github.com/gogf/gf/util/grand"
)
// 调用格式: 〈双精度小数型〉 四舍五入 (双精度小数型 欲被四舍五入的数值,[整数型 被舍入的位置]) - 系统核心支持库->算术运算
// 英文名称round
// 返回按照指定的方式进行四舍五入运算的结果数值。本命令为初级命令。
// 参数<1>的名称为“欲被四舍五入的数值”类型为“双精度小数型double”。
// 参数<2>的名称为“被舍入的位置”类型为“整数型int可以被省略。如果大于0表示小数点右边应保留的位数如果等于0表示舍入到整数如果小于0表示小数点左边舍入到的位置。例如四舍五入 (1056.65, 1) 返回 1056.7 四舍五入 (1056.65, 0) 返回 1057 四舍五入 (1056.65, -1) 返回 1060。如果省略本参数则默认为0。
//
// 操作系统需求: Windows、Linux
func C四舍五入(欲被四舍五入的数值 float64, 被舍入的位置 int) float64 {
var pow float64 = 1
for i := 0; i < 被舍入的位置; i++ {
pow *= 10
}
return float64(int((欲被四舍五入的数值*pow)+0.5)) / pow
}
// 调用格式: 〈双精度小数型〉 取绝对值 (双精度小数型 欲取其绝对值的数值) - 系统核心支持库->算术运算
// 英文名称abs
// 如果所提供数值为字节型,则将直接返回该数值。本命令为初级命令。
// 参数<1>的名称为“欲取其绝对值的数值”类型为“双精度小数型double”。
//
// 操作系统需求: Windows、Linux
func C取绝对值(双精度小数型 float64) float64 {
return math.Abs(双精度小数型)
}
// 调用格式: 〈双精度小数型〉 求次方 (双精度小数型 欲求次方数值,双精度小数型 次方数) - 系统核心支持库->算术运算
// 英文名称pow
// 返回指定数值的指定次方。本命令为初级命令。
// 参数<1>的名称为“欲求次方数值”类型为“双精度小数型double”。参数值指定欲求其某次方的数值。
// 参数<2>的名称为“次方数”类型为“双精度小数型double”。参数值指定对欲求次方数值的运算指数。
//
// 操作系统需求: Windows、Linux
func C求次方(欲求次方数值 float64, 次方数 float64) float64 {
return math.Pow(欲求次方数值, 次方数)
}
// 调用格式: 〈双精度小数型〉 求平方根 (双精度小数型 欲求其平方根的数值) - 系统核心支持库->算术运算
// 英文名称sqr
// 返回指定参数的平方根。本命令为初级命令。
// 参数<1>的名称为“欲求其平方根的数值”类型为“双精度小数型double”。参数值如果小于零将导致计算错误。
//
// 操作系统需求: Windows、Linux
func C求平方根(欲求次方数值 float64) float64 {
return math.Sqrt(欲求次方数值)
}
// 调用格式: 〈双精度小数型〉 求正弦 (双精度小数型 欲进行计算的角) - 系统核心支持库->算术运算
// 英文名称sin
// 返回指定角的正弦值。本命令为初级命令。
// 参数<1>的名称为“欲进行计算的角”类型为“双精度小数型double”。所使用单位为弧度。为了将角度转换成弧度请将角度乘以 #pi / 180。为了将弧度转换成角度请将弧度乘以 180 / #pi。如果参数值大于等于 2 的 63 次方,或者小于等于 -2 的 63 次方,将导致计算溢出。
//
// 操作系统需求: Windows、Linux
func C求正弦(欲进行计算的角 float64) float64 {
return math.Sin(欲进行计算的角)
}
// 调用格式: 〈双精度小数型〉 求余弦 (双精度小数型 欲进行计算的角) - 系统核心支持库->算术运算
// 英文名称cos
// 返回指定角的余弦值。本命令为初级命令。
// 参数<1>的名称为“欲进行计算的角”类型为“双精度小数型double”。所使用单位为弧度。为了将角度转换成弧度请将角度乘以 #pi / 180。为了将弧度转换成角度请将弧度乘以 180 / #pi。如果参数值大于等于 2 的 63 次方,或者小于等于 -2 的 63 次方,将导致计算溢出。
//
// 操作系统需求: Windows、Linux
func C求余弦(欲进行计算的角 float64) float64 {
return math.Cos(欲进行计算的角)
}
// 调用格式: 〈双精度小数型〉 求正切 (双精度小数型 欲进行计算的角) - 系统核心支持库->算术运算
// 英文名称tan
// 返回指定角的正切值。本命令为初级命令。
// 参数<1>的名称为“欲进行计算的角”类型为“双精度小数型double”。所使用单位为弧度。为了将角度转换成弧度请将角度乘以 #pi / 180。为了将弧度转换成角度请将弧度乘以 180 / #pi。如果参数值大于等于 2 的 63 次方,或者小于等于 -2 的 63 次方,将导致计算溢出。
//
// 操作系统需求: Windows、Linux
func E求正切(欲进行计算的角 float64) float64 {
return math.Tan(欲进行计算的角)
}
// 调用格式: 〈双精度小数型〉 求反正切 (双精度小数型 欲求其反正切值的数值) - 系统核心支持库->算术运算
// 英文名称atn
// 返回指定数的反正切值。本命令为初级命令。
// 参数<1>的名称为“欲求其反正切值的数值”类型为“双精度小数型double”。
//
// 操作系统需求: Windows、Linux
func C求反正切(欲求其反正切值的数值 float64) float64 {
return math.Atan(欲求其反正切值的数值)
}
// 调用格式: 〈无返回值〉 置随机数种子 ([整数型 欲置入的种子数值]) - 系统核心支持库->算术运算
// 英文名称randomize
// 为随机数生成器初始化一个种子值,不同的种子值将导致“取随机数”命令返回不同的随机数系列。本命令为初级命令。
// 参数<1>的名称为“欲置入的种子数值”类型为“整数型int可以被省略。如果省略本参数将默认使用当前计算机系统的时钟值。
//
// 操作系统需求: Windows、Linux
func C置随机数种子(欲置入的种子数值 int64) {
if 欲置入的种子数值 == 0 {
欲置入的种子数值 = time.Now().UnixNano()
}
rand.Seed(欲置入的种子数值)
}
// 调用格式: 〈整数型〉 取随机数 ([整数型 欲取随机数的最小值],[整数型 欲取随机数的最大值]) - 系统核心支持库->算术运算
// 英文名称rnd
// 返回一个指定范围内的随机数值。在使用本命令取一系列的随机数之前,应该先使用“置随机数种子”命令为随机数生成器初始化一个种子值。本命令为初级命令。
// 参数<1>的名称为“欲取随机数的最小值”类型为“整数型int可以被省略。参数必须大于或等于零。本参数如果被省略默认为 0 。
// 参数<2>的名称为“欲取随机数的最大值”类型为“整数型int可以被省略。参数必须大于或等于零。本参数如果被省略默认为无限。
//
// 操作系统需求: Windows、Linux
func C取随机数(欲取随机数的最小值 int, 欲取随机数的最大值 int) int {
return grand.N(欲取随机数的最小值, 欲取随机数的最大值)
}
func C颜色24位转16位_RGB(r, g, b int64) int64 {
r = int64((r*249 + 1023) / 2047)
g = int64((g*249 + 1023) / 2047)
b = int64((b*249 + 1023) / 2047)
return (r << 11) | (g << 6) | b
}