文档管理中心
此版本文档已归档不再维护,推荐您使用最新版本

数学基础运算示例

收起
自动换行
深色代码主题
复制
  1. import std.math.clamp
  2. import std.math.gcd
  3. import std.math.lcm
  4. import std.math.rotate
  5. // 范围截断示例
  6. func clampTest() {
  7. let min: Float16 = -0.123
  8. let max: Float16 = 0.123
  9. let v: Float16 = 0.121
  10. let c = clamp(v, min, max)
  11. println("${c==v}")
  12. let min2: Float16 = -0.999
  13. let max2: Float16 = 10.123
  14. let v2: Float16 = 11.121
  15. let c2 = clamp(v2, min2, max2)
  16. println("${c2==max2}")
  17. let min3: Float16 = -0.999
  18. let max3: Float16 = 10.123
  19. let v3: Float16 = -1.121
  20. let c3 = clamp(v3, min3, max3)
  21. println("${c3==min3}")
  22. }
  23. // 求两个数的最大公约数
  24. func gcdTest() {
  25. let c2 = gcd(0, -60)
  26. println("c2=${c2}")
  27. let c4 = gcd(-33, 27)
  28. println("c4=${c4}")
  29. }
  30. // 求两个数的最小公倍数
  31. func lcmTest() {
  32. let a: Int8 = lcm(Int8(-3), Int8(5))
  33. println("a=${a}")
  34. }
  35. // 整数按二进制某一位前后翻转
  36. func rotateTest() {
  37. let a: Int8 = rotate(Int8(92), Int8(4))
  38. println("a=${a}")
  39. let b: Int32 = rotate(Int32(1), Int8(4))
  40. println("b=${b}")
  41. }
  42. main(): Unit {
  43. println("/*********************** clampTest **********************/")
  44. clampTest()
  45. println("/*********************** gcdTest ************************/")
  46. gcdTest()
  47. println("/*********************** lcmTest ************************/")
  48. lcmTest()
  49. println("/*********************** rotateTest *********************/")
  50. rotateTest()
  51. }

运行结果:

收起
自动换行
深色代码主题
复制
  1. /*********************** clampTest **********************/
  2. true
  3. true
  4. true
  5. /*********************** gcdTest ************************/
  6. c2=60
  7. c4=3
  8. /*********************** lcmTest ************************/
  9. a=15
  10. /*********************** rotateTest *********************/
  11. a=-59
  12. b=16
搜索
请输入您想要搜索的关键词