㈠ c语言中,实型数据和浮点型数据是啥关系
从数学角度来看实数是相对于虚数来说的,它包含无理数和有理数,而在计算机中因为硬件的限制是不可能完全表示无理数的,只能进行精度取舍,所以在C语言中实数类型和浮点数类型实际上表示的是同一个意思,在C语言中一般用float表示单精度数,一般占32个2进制bit位,double类型表示双精度数,一般占64个2进制bit位,long double类型表示多精度浮点数,一般有64位、80位、128位等等。
㈡ 在c语言中,如何表示实数啊是用float还是double,俩者有什么不一样吗一般定义实数用哪个那复数呢
在标准C语言中,浮点数有单精度浮点数(float)和双精度浮点数(double)两种,有的C版本还支持第三种长双精度浮点数(long double)。解决方法如下:
1、首先,定义一个双精度数n,用来保存被除数。
㈢ C语言中实数就是专指小数
不是,C中叫实型,包括整型和浮点型,其中整型指整数类型,浮点型包括所有小数类型。
㈣ C语言中,复数是什么意思
a+bi这种样式的数,比实数更大的集合
㈤ C语言 定义一个能够表示复数的结构类型,一个复数包括实数与虚数两个部分
struct complex{
double r;
double i;
}
㈥ 实数和虚数的区别是什么
一、定义不同
1、实数
实数可以用来测量连续的量。理论上,任何实数都可以用无限小数的方式表示,小数点的右边是一个无穷的数列(可以是循环的,也可以是非循环的)。
在实际运用中,实数经常被近似成一个有限小数(保留小数点后 n 位,n为正整数)。在计算机领域,由于计算机只能存储有限的小数位数,实数经常用浮点数来表示。
2、虚数
在数学里,将偶指数幂是负数的数定义为纯虚数。所有的虚数都是复数。定义为i²=-1。但是虚数是没有算术根这一说的,所以±√(-1)=±i。对于z=a+bi,也可以表示为e的iA次方的形式,其中e是常数,i为虚数单位,A为虚数的幅角,即可表示为z=cosA+isinA。
实数和虚数组成的一对数在复数范围内看成一个数,起名为复数。虚数没有正负可言。不是实数的复数,即使是纯虚数,也不能比较大小。
二、起源不同
1、实数
在公元前500年左右,以毕达哥拉斯为首的希腊数学家们认识到有理数在几何上不能满足需要,但毕达哥拉斯本身并不承认无理数的存在。 直到17世纪,实数才在欧洲被广泛接受。18世纪,微积分学在实数的基础上发展起来。1871年,德国数学家康托尔第一次提出了实数的严格定义。
2、虚数
虚数”这个名词是17世纪着名数学家、哲学家笛卡尔创制,因为当时的观念认为这是真实不存在的数字。后来发现虚数可对应平面上的纵轴,与对应平面上横轴的实数同样真实。
人们发现即使使用全部的有理数和无理数,也不能解决代数方程的求解问题。像x²+1=0这样最简单的二次方程,在实数范围内没有解。
12世纪的印度大数学家婆什伽罗都认为这个方程是没有解的。他认为正数的平方是正数,负数的平方也是正数,因此,一个正数的平方根是两重的;一个正数和一个负数,负数没有平方根,因此负数不是平方数。这等于不承认方程的负数平方根的存在。
三、基本运算不同
1、实数
实数可实现的基本运算有加、减、乘、除、乘方等,对非负数(即正数和0)还可以进行开方运算。实数加、减、乘、除(除数不为零)、平方后结果还是实数。任何实数都可以开奇次方,结果仍是实数,只有非负实数,才能开偶次方其结果还是实数。
2、虚数
一个数的ni次方为:
xni= cos(ln(xn)) + i sin(ln(xn)).
一个数的ni次方根为:
x1/ni= cos(ln(x1/n)) - i sin(ln((x1/n)).
以i为底的对数为:
log_i(x) = 2 ln(x)/ iπ.
i的余弦是一个实数:
cos(i) = cosh(1) = (e + 1/e)/2 = (e² + 1) /2e = 1.54308064.
i的正弦是虚数:
sin(i) = sinh(1) i =[(e - 1/e)/ 2]i = 1.17520119 i.
i,e,π,0和1的奇妙关系:
eiπ+1=0
ii=e-π/2
㈦ 在c语言里怎么判定一个数是不是实数啊
在C语言中,数据类型中的整型,浮点型,字符型数皆为实数啊? 难道会存在虚数或复数吗?
而且 一个变量的数据类型是由你的变量声明决定的,一个表达式返回结果是由表达式内的参与计算的变量及自动类型转换决定的,从而无须存在上述问题的呀?也许我没有正确理解你的问题的吧……
㈧ 什么是虚数它和实数有什么区别
实数,是有理数和无理数的总称。实数可以分为有理数和无理数两类,或代数数和超越数两类。
在数学中,虚数就是形如a+b*i的数,其中a,b是实数,且b≠0,i² = - 1。
虚数这个名词是17世纪着名数学家笛卡尔创立,因为当时的观念认为这是真实不存在的数字。后来发现虚数a+b*i的实部a可对应平面上的横轴,虚部b与对应平面上的纵轴,这样虚数a+b*i可与平面内的点(a,b)对应。
(8)c语言虚数与实数扩展阅读
像x+1=0这样最简单的二次方程,在实数范围内没有解。12世纪的印度大数学家婆什伽罗都认为这个方程是没有解的。他认为正数的平方是正数,负数的平方也是正数。
因此,一个正数的平方根是两重的;一个正数和一个负数,负数没有平方根,因此负数不是平方数。这等于不承认方程的负数平方根的存在。
到了16世纪,意大利数学家卡尔达诺在其着作《大术》(《数学大典》)中,把记为1545R15-15m这是最早的虚数记号。但他认为这仅仅是个形式表示而已。1637年法国数学家笛卡尔,在其《几何学》中第一次给出“虚数”的名称,并和“实数”相对应。
㈨ C语言中虚数如何表示
_Complex关键字可以提供比较方便的复数运算,例如:
#include <complex.h>
double imaginary z=5.3I
注意事项:
1.每个程序中一定包含main()函数,尽管C语言中对函数命名没有限制。
2.printf函数永远不会自动换行,只能用 来实现, 回车键进行的换行在编译中会出现错误信息。
3.在vs2008中编译,测试需要加 system("pause");来暂停dos自动退出导致的printf无法显示。
4.所有自定义变量必须声明才能使用。
(9)c语言虚数与实数扩展阅读:
在数学中,虚数是对实数系的扩展。利用复数可以构建四维坐标系,四维坐标系是三维实数坐标系与三维虚数坐标系组合而成的。三维实数坐标系上的点与四维复数坐标系存在映射对应关系,每一个实数坐标点对应两个不同的四维坐标点。因此,虚数只有在四维坐标中才具有现实的数值意义。
我们可以在平面直角坐标系中画出虚数系统。如果利用横轴表示全体实数,那么纵轴即可表示虚数。整个平面上每一点对应着一个复数,称为复平面。横轴和纵轴也改称为实轴和虚轴。在此时,一点P坐标为P(a,bi),将坐标乘上i即点绕圆心逆时针旋转90度。
虚数单位“i”首先为瑞士数学家欧拉所创用,到德国数学家高斯提倡才普遍使用。
㈩ c语言 虚数的四则运算 高手帮帮忙!!!!
回答的也太快了吧!我刚输完就有这么多了!
还好我这是纯c语言版。
输入数据是实属部分和虚数部分用逗号隔开。
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
double real; /*实数部分*/
double vir; /*虚数部分*/
}COMPLEX;
COMPLEX add(COMPLEX a,COMPLEX b);
COMPLEX substract(COMPLEX a,COMPLEX b);
COMPLEX multiple(COMPLEX a,COMPLEX b);
COMPLEX divide(COMPLEX a,COMPLEX b);
void printC(COMPLEX n)
{
if((n.vir - 0.00) < 0)
printf("(%.4lf%.4lfi)",n.real,n.vir);
else
printf("(%.4lf+%.4lfi)",n.real,n.vir);
}
void main()
{
COMPLEX a,b;
char c;
printf("input real and virtual of complex number a:");
scanf("%lf,%lf",&a.real,&a.vir);
fflush(stdin);
printf("input real and virtual of complex number b:");
scanf("%lf,%lf",&b.real,&b.vir);
c = '+';
printC(a); printf(" %c ",c); printC(b); printf(" = ");
printC(add(a,b));
putchar('\n');
c = '-';
printC(a); printf(" %c ",c); printC(b); printf(" = ");
printC(substract(a,b));
putchar('\n');
c = '-';
printC(a); printf(" %c ",c); printC(b); printf(" = ");
printC(multiple(a,b));
putchar('\n');
c = '/';
printC(a); printf(" %c ",c); printC(b); printf(" = ");
printC(divide(a,b));
putchar('\n');
system("pause");
}
COMPLEX add(COMPLEX a,COMPLEX b)
{
COMPLEX c;
c.real = a.real + b.real;
c.vir = a.vir + b.vir;
return c;
}
COMPLEX substract(COMPLEX a,COMPLEX b)
{
COMPLEX c;
c.real = a.real - b.real;
c.vir = a.vir - b.vir;
return c;
}
COMPLEX multiple(COMPLEX a,COMPLEX b)
{
COMPLEX c;
c.real = a.real * b.real - a.vir * b.vir;
c.vir = a.vir * b.real + a.real * b.vir;
return c;
}
COMPLEX divide(COMPLEX a,COMPLEX b)
{
COMPLEX c;
double den = b.real * b.real + b.vir * b.vir;
c.real = (a.real * b.real + a.vir * b.vir) / den;
c.vir = (a.vir * b.real - a.real * b.vir) / den;
return c;
}