代码基础-基本数据类型和无符号整型

基本类型

如果你看过其他教学机构的教材,教变量的时候会在开始的时候就告诉你八个基本数据类型

  • byte(字节)
  • short(短整型)
  • int(整型)
  • long(长整型)
  • float(单精度浮点型)
  • double(双精度浮点型)
  • char(字符)
  • boolean(布尔值)
    因为前面几个用得少所以没讲,但为了后面的内容需要多列出几种类型才好理解

整型

int 类型占4个字节,往上数short占两个字节,再往上数byte占一个字节
往下数long占8个字节

整型不同于浮点型,他们不采用科学计数法的忽略精度,他们记录的数值就是精确值
这一部分无需多讲,和int没多大区别而且少用


浮点型

首先,双精度浮点型占64位,一符号位,11指数位,52位有效数字
单精度浮点型占32位,一符号位,8指数位,23位有效数字

我们尝试赋值一个float

float f=12.0;

你会发现不可赋值。因为他们的储存方式大有不同
用int给long赋值,无非在前面加0,反过来也就是在前面截断
而他们的指数位不同,直接赋值就会出现问题,所以你需要些许操作

强转可以截断前面的位,可以把double经过位移以后赋给float
而string的记录值的方式和他们本质更加不同,所以强转无法把int转成string

不使用强转,正确的赋值操作是在末尾加个f。这个f类似于双引号的声明,并不会处理进数值

float f=12.0f;

16进制和8进制

除了在末尾加f可以声明这个数值是单精度浮点型以外
还可以在开头加0表示8进制数,0x表示16进制数。2进制和4进制不能用

qq登录时qq号可以写0x+你16进制的qq号
[QQ是用C++写的,不过这个系列是程序基础,大部分语言基础部分大体都是一样的。]


无符号整型

数据类型的第一位是保存符号的。对于整形(int,short,long)可以在前面加上u表示无符号整性
用4bit举例: 01020304
01表示正负号,后面3个最大表示7。整个的表示值范围就是[-7~+7]
无符号范围就是[0-15],正数范围变大,但不能表示负数了。

扫描二维码关注公众号,回复: 11893299 查看本文章

另外仔细看,4bit最大值就是4个bit都是1的情况。这时候表示的数就是1+2+4+8=15=24-1
为什么4bit的最大值不是24呢,我们看他最小值,都是0的情况:0+0+0+0=0.
也就是说计算机计数都是从0开始的。所以最大值都是2n-1.

在这里插入图片描述
一核有难多核围观,指大部分游戏是单线程,不支持多核心CPU
在这里插入图片描述
包括后面学的循环,数组,任务管理器上的计数都是以0开头。

猜你喜欢

转载自blog.csdn.net/zms9110750/article/details/106625271