c#入门-数字类型

c#中有8种整数类型,3种小数类型。他们只有储存方式和计数方式的区别。
这里只讨论多数情况下,可以直接用文字写出来的类型。

更详细的会另写一篇文章。

int类型

计算机中最常用的整数类型是int。

int a=12;
Console.WriteLine(a);

数字类型可以进行数学运算

Console.WriteLine(3+3);
Console.WriteLine(3-3);
Console.WriteLine(3*3);
Console.WriteLine(3/3);
Console.WriteLine(3%3);//求余数

整数的除法只会保留整数部分,小数部分会舍去而不会四舍五入
整数类型的运算不能用0作为除数

int类型的范围

int占4个字节,一个字节是8比特,int就是32个比特,每个比特可以是0或1两种状态。所以int能表示的数一共有2的32次方个。
但是int是可以表示负数的,拿了一个比特做符号,然后因为电脑中计数是从0开始数的,所以最大值要减1.
最终,int能表示的最大值是231-1=2,147,483,647。大约21亿

int的最小值是 负231,因为0已经归在正数那一边了,负数是从–1开始数的。

double类型

c#中使用浮点数储存小数。
浮点的意思是小数点位置可以移动。

例如1200=12*102,可以记作12,然后小数向右偏移2位
0.053=53*10-3,记作53,小数往左挪3位

常用的浮点型是double类型

double d=1.0;
double d2=.1;

小数点前面的数字可以省略,会当作0。
但是小数点后面的数字不能省略,至少要填一个0告诉他是浮点数。

double的范围

浮点数用一部分储存有效数字,一部分储存小数点偏移。这导致他的最大范围能超出他的精确表示范围
double占8字节,1比特储存符号,52比特储存有效数字,11比特储存小数点偏移。
他的精度大约有15位数,但他的最大范围是308位数。

double的精度丢失

因为精度有限,超出精度的运算是无法进行的。比如1后面跟20个零,这个数字加100就加不了。

但是除此之外,某些特殊值也无法完整表示。例如十进制的1/3一样,某些数无法用有限的二进制表示。
例如以下代码不会产生预期的结果

Console.WriteLine(0.1+0.1+0.1);

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值