域名注册哪个网站好,淄博优化推广,宿迁房产网户型图,wordpress 视频代码本篇将详细介绍 Cangjie 中的浮点类型#xff0c;包括浮点数的表示方法、精度、舍入与溢出处理、科学计数法表示、字面量的进制表示、常用运算、类型转换及应用场景#xff0c;帮助开发者掌握浮点数的使用方法。 关键词
浮点类型表示精度与舍入溢出与下溢科学计数法类型转换…本篇将详细介绍 Cangjie 中的浮点类型包括浮点数的表示方法、精度、舍入与溢出处理、科学计数法表示、字面量的进制表示、常用运算、类型转换及应用场景帮助开发者掌握浮点数的使用方法。 关键词
浮点类型表示精度与舍入溢出与下溢科学计数法类型转换字面量表示 一、浮点类型概述
在 Cangjie 中浮点类型用于表示包含小数部分的数值主要包括两种类型
单精度浮点数Float32约 6-7 位有效数字适用于内存占用较低的场景。双精度浮点数Float64约 15-16 位有效数字适用于对精度要求较高的场景。 建议若没有特殊的内存限制优先使用 Float64 以获得更高精度。 二、浮点数的表示范围与精度
浮点数的表示范围取决于其位数限制
单精度浮点数Float32范围约为 ±3.4 × 10^38。双精度浮点数Float64范围约为 ±1.8 × 10^308。
由于浮点数使用二进制存储在高精度运算中可能会出现舍入误差。 三、浮点类型字面量的表示
Cangjie 中的浮点类型字面量支持两种进制表示方式十进制和十六进制。 十进制表示字面量至少需要包含整数或小数部分。当没有小数部分时必须包含指数部分以 e 或 E 为前缀底数为 10。 十六进制表示字面量以 0x 或 0X 为前缀指数部分以 p 或 P 表示底数为 2同样至少需要包含整数或小数部分。
示例
let a: Float32 3.14 // 十进制
let b: Float32 2e3 // 科学计数法
let c: Float32 0x1.1p0 // 十六进制
let d: Float64 0x.2p4 // 十六进制四、浮点数的科学计数法表示
在 Cangjie 中浮点数可以通过科学计数法表示适合表示较大或较小的数值。使用 e 或 E 表示指数部分例如1.23e4 表示 1.23 × 10^4。
示例
let bigNum 3.45e6 // 表示 3450000
let smallNum 2.67e-4 // 表示 0.000267println(大数: ${bigNum}, 小数: ${smallNum})输出:
大数: 3450000.000000, 小数: 0.000267五、浮点数的运算
浮点数支持基础的算术运算和数学函数如平方根、绝对值等但需注意运算过程中可能出现精度损失。
5.1 算术运算
浮点数的加、减、乘、除操作如下
let a: Float64 10.5
let b: Float64 3.2let sum a b
let difference a - b
let product a * b
let quotient a / b println(加法: ${sum}, 减法: ${difference}, 乘法: ${product}, 除法: ${quotient})输出:
加法: 13.700000, 减法: 7.300000, 乘法: 33.600000, 除法: 3.281250六、浮点数的溢出与下溢
溢出当浮点数超过最大表示范围时Cangjie 会返回 inf。下溢当浮点数低于最小表示范围时Cangjie 会返回 0.000000。
let overflow 1e309 // 超出 Float64 范围
let underflow 1e-324 // 小于 Float64 范围println(溢出: ${overflow}, 下溢: ${underflow})输出:
溢出: inf, 下溢: 0.000000七、浮点类型的后缀表示
为明确浮点字面量的类型可在字面量后添加特定后缀
后缀类型f16Float16f32Float32f64Float64
示例
let a 3.14f32 // a 的类型为 Float32
let b 2e3f32 // b 的类型为 Float32
let c 2.4e-1f64 // c 的类型为 Float64
let d .123e2f64 // d 的类型为 Float64八、浮点数的类型转换
浮点数与整数之间可以相互转换但浮点转整数时会截断小数部分。
let floatNum: Float64 10.99
let intNum: Int32 Int32(floatNum) // 转换后小数部分被截断println(浮点数: ${floatNum}, 转换后的整数: ${intNum})输出:
浮点数: 10.990000, 转换后的整数: 10九、浮点数的应用场景
浮点数适用于科学计算、货币金额表示等场景。
9.1 科学计算
let radius 5.5
let area 3.14159 * radius * radiusprintln(圆的面积: ${area})输出:
圆的面积: 95.0330979.2 精确计算
在价格计算中可使用浮点数表示更精确的金额
let pricePerItem: Float64 19.99
let quantity: Float64 3.0
let totalPrice pricePerItem * quantityprintln(总价: ${totalPrice})输出:
总价: 59.970000十、浮点类型支持的操作符
浮点类型支持以下操作符
算术操作符如 、-、*、/ 等。关系操作符如 、、 等。赋值操作符如 。复合赋值操作符如 、-。
注意浮点类型不支持自增和自减–操作符。 小结
本篇详细讲解了 Cangjie 浮点类型的表示范围、科学计数法表示、字面量的进制表示、基本运算、舍入控制及应用场景帮助开发者熟练运用浮点数处理涉及小数的计算任务。 下篇预告
下一篇将解析 Cangjie 的 布尔类型探讨布尔运算及其在条件判断中的应用敬请关注 「Mac玩转仓颉内测版25」基础篇5 - 布尔类型详解 上一篇「Mac玩转仓颉内测版23」基础篇3 - 深入理解整数类型
下一篇「Mac玩转仓颉内测版25」基础篇5 - 布尔类型详解 作者SoraLuna 链接https://www.nutpi.net/thread?topicId206 來源坚果派 著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。