使用Go语言进行复数计算优选complex128复数类型

使用Go语言进行复数计算优选complex128复数类型

如下文例子,如果使用 complex64 类型的话,就会由于精度不足而出错;改用 complex128 复数类型就可以了。

//jxs @ 2021.03.19 14:04:17

package main

import (
	"fmt"
)

func main() {

	//此时是有问题的,因为使用的是 complex64
	var x, x_mul, y complex64
	x = 1 + 15i
	x_mul = x * x * x * x * x * x * x
	y = x_mul + 1
	fmt.Println(y == x_mul, y, x_mul)
	//运行结果是:true (-7.7967224e+07-1.5503053e+08i) (-7.7967224e+07-1.5503053e+08i)
	
	//此时是没有问题的,因为使用的是 complex128
	var xx, xx_mul, yy complex128
	xx = 1 + 15i
	xx_mul = xx * xx * xx * xx * xx * xx * xx
	yy = xx_mul + 1
	fmt.Println(yy == xx_mul, yy, xx_mul)
	//运行结果是:false (-7.7967223e+07-1.5503052e+08i) (-7.7967224e+07-1.5503052e+08i)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值