00:00
好的,同学们,我们来看一下整数类型吧,我们现在对整数类型做一个基本的介绍。好,同学们看一下啊,整数类型的基本介绍。好,整数类型,整数类型的基本介绍,简单说啊,整数用来干什么的呢?整数就是用于存放整数值的,整数类型就是用来存放整数值的,比如说。零负一,2345等等都可以用来存,可以存放这样的整数,那么我们来看一个小小的案例啊,这个案例呢,前面咱们怎么样都演示过了,所以说呢,应该不难,我新建一个文件夹。诶,我新建一个文件夹啊,在CHAPTER03里面新建一个文件夹叫,诶这好像有一个了啊。刷新一下。刷新一下啊,这有一个,这有一个int demo06,我们就用它吧,啊TDEMO06。好,我双击一下,把这先清空,我们重新写一下啊,从这粘贴一份过来。
01:03
从这粘贴一份过来,就是空的,把它镂空啊,把它镂空好,我们来演示一下各种整数类型的使用。对吧?整数类型的使用非常简单啊,同学们,I int等于一。For my,我们可以输出对吧?I等于I没问题,这个很简单,那么关键的地方就是要给同学们介绍一下int后边,诶,这地方写错了啊。Int后边这个值可以取哪些?可以有哪些?呃,整数类型,那么我们来看一看。同学们看一下这个幻灯片啊,幻灯片我们可以看到整数类型呢,有无符号和有符号的这个这块列出来的就是int的这个整数类型的,有符号的整数类型有这么几大块,有这么几大类啊,第一大类这大类看啊。
02:05
86 32 64,如果是八呢,就代表它是一个字节,就它占用的存储空间一个字节,16就是占用两个字节,32就占用四个字节,而64呢,占用八个字节,那有些同学说了占这个字节的不一样,对他有什么影响吗?各位同学这个问题就问的特别的好。OK,它占用的存储空间不一样,直接导致它表示的数的范围不一样,你比如说INT8,它能够表示的速度范围就是负128到正的127。那这是怎么来的呢?那这是怎么来,我简单说一下啊八位。比如说我这有八位。12345。六。七八,那么它的第一位就这个地方啊,零。
03:00
和一可以取位,如果是零就表示一个正数,11呢就表示一个负数,也就是他的第一位是用用来表示符号的。那第一位用来表示符号,余下的只有几位了?各位朋友是不是只有七位了呀?你数1234567位,七位,那这七位才用来表示数本身的值,那这样子呢,大家可以算下来,所以说负的128其实就是这样来的,是负的。二的多少次方呢?七次方。到什么呢?到正的二的七次方减去一个一是这么来的,因为它第一位,第一位是用来表示符号位,其他才表示数字的,明白我的意思吧,所以它是这么推导出来的,OK,那为什么这还要减一,为什么正数和负数不一样大小呢?简单的讲啊,简单讲就是这是二进制的一个规定。因为整个这个零和一呢,你大家想啊,零一如果全部都取零。
04:06
这方全部都取零,就会出现一个正零,还有一个负零。对不对,大家想不想,但是正零和负零其实都是零,于是乎呢,在二进制里面,他把这个负零怎么样呢?借了一位,他借过来。用这个负数多了一位啊,所以说它这个负零呢,有效的利用起来,因此负数会比正数多一个啊,多一个是这么来的啊呃,有兴趣的时候呢,我们再讲二进制的时候,再给大家讲讲。大家看嗯,如果是这个16,它乙是么?推导出来的看就是什么呢?就是16位有一位拿去做符号位,15位留下来表示数值,所以说负的二的十五次方到二的十五次方减一。其他依此类推,我就不一个说了,看啊,64位,64位也是这样子的啊,有一个符号位拿掉过后还有63位,那就是负的二的六十三次方到正的二的63方二,二的六十三次方减一,就这么来的,好,那么我给大家看看这个范围是不是这样子的啊,我们举个例子,主要是看范围。
05:09
我们来测试一下。测试。啊,测试。一下这个INT8的范围是不是这样子的啊范围。那那么老师给大家演示一个啊,比如说we are go。Int,大家看,我写一个FOOD128。大家看到负的128,我输出来。Put。同学们可以看到啊,我把这个勾输出来。同学们看到我运气一把。我进到这里面去啊,CD到我们的T6,然后呢,Run一下。我们可以看到负的128确实是输出来了,没有任何问题。但是如果我们再去小一位。这个时候其实它已经超出了这个范围,对不对,因为它最小呢,只能是负的128,但是你给了一个什么呢?负的129,那同学们看我们运行一把,看效果。
06:14
同学们可以看到此时此刻啊。哦,对了,同学们看我这是不是没有没有加一个八呀,诶对了,我们加一个八啊,因为刚才如果不加八的话,这个int它就不它就它其实不是八位啊,待会再说,因为你要加一个八才表示这个范围对不对,我刚才这个定义的时候,这个类型没有写对,好我们再来看一下,此时此刻,其实你看。已经报错了对吧,你看负的128位,负的1128,你看它不会不会错,你看我再运行。没有毛病吧?没有毛病。没毛病,附件吧。但是呢,我把这个再缩小一位。你看我在运行。
07:00
同学们看效果,这个时候他其实告诉你,他说这个负129OVERFLOWS超超出了或者溢出这个值了,就是说你负的129已经。已经溢出了INT8就说你的范围我表示不了你的负的129,所以说他就报错了,明白这意思吧,溢出了吗?Overflows这个单词就是溢出的意思,好,所以说这个道理,那同样正数也是一样啊,127是它的最大范围,你看我说个127没毛病。127可以说出来。那么我再大一点点。我再大一点点,同学们可以看到,此时此刻,它依然会爆出这个overflow。看也是overflows,所以说同学们看到我们在用这个整数的时候,一定要注意它的范围啊,一定要注意它范围,如果你超出这个范围,那么同学们这个地方就一定会。
08:00
出问题的好的,我把这个呢也给同学们写到这里来啊,这个地方好,整数类型的第一部分。好,我把这个放到这里来啊,整数类型的叫做有符号的整数。写到笔记里面了啊。有符号的。整数整数。整数的各个类型。好,我们把它罗列到这儿啊,第一部分放这儿了啊,这一部分,那么我这有个小案例啊,这有个小案例大家可以看到,我把这个案例呢,给同学们截过来就行。这样写。注意这个范围,范围是负的,128到。到正的127,其他依此类推啊,其他以此类推,其他的像啊,其他的像这个int什么呀,幺六。INT32INT64啊,类推就行了。
09:02
类推即可。好,我把这个案例呢给同学们放到笔记里面来。这是第一部分就是有符号的啊,这个代表有符号的。好,放这就可以了。那么我们紧接着看这个go里面呢,它的整数还有一大类就是什么呢?无符号的整数,大家看这里,那么如果无符号的整数呢,跟前面这个最大的区别啊,最大区别就是它是没有符号的,那没有符号就意味着它的第一位也可以用来表示数值。就是表示个数本身,那这样子的话,你会发现它的范围就是从零到多少多少。好,这个就比较好推了,同学们,那就是说相当于什么意思呢?同学们看,我们还以这个为例。其他一样的啊,这是两个字节,四个字节,八个字节,那么我们说它这个范围怎么来的呢?其他一样的啊,你比如说是八个字,呃,八位啊,不是八个字节,这是一个字节,一个字节八位,你看一个字节有八位。
10:06
我们就以这个为例来说,它有八位。OK。大家看这里。那么同样这一位。第一位就不再表示符号了,直接就表示一个具体的一个数,那你看最大值就是最小值,就这样子嘛,000全部取零。全部取零的话,那整个就应该等于零,是这意思吧,那如果说我全部都取一呢,各位同学。哎,你注意看,如果我全部都取一。看11111111,而且呢,它因为是无符号的,所以说呢,它整个都表示这个数本身,所以说这样推出来就是二的八次方减掉一个一刚好等于多少呢?255。A25就这么来的啊,其他的一样一样推啊,像十六三十二位还64位,一个意思啊,一个意思,好,这是它的这个部分内容,我们先把图截过来,再举个案例。
11:13
好的。我把这个截过来啊。好的,那这一部分呢,我们也放在笔记里边去,对吧,无符号的。的。无符号。啊无无符号的类型有哪些,整理到这里。好,前面是有符号,下面是无符号,我们也来举几个例子,大家看一下,我们就举这个比较简单的啊,我们举这个U8来看一下。我们测试一下这个u int8的这个范围。其他以此类推,其他的像这个U16对不对,U。INT32位UT怎么样?64位一样的道理。
12:03
一样的好。那么举个例子。K int8前面呢来个U,同学们可以看到啊,它最小呢就是零。同学们看,我把它输出来,大家看一下等于K。那么这个时候你运,你运行这个代码是没有毛病的。这个代码是没有毛病的,你看啊,K等于零,No problem没问题,但是呢,同学们看到,如果你取了一个负一,好,对不起,这个时候呢,就会报错,已然会报一个overflow。你看他说u int8这个负一已经溢出了,负一对这个UT8来说它会溢出,因为UT8呢,它不能表示一个负数,好同样最大值也是一个道理,它最大就是255。255这个范围,其他一样啊,我我就举一个例子。255是没问题的,K等于255是可以的,但是我如果再大一位。
13:01
他已然会报什么溢出overflow。看256256啊,所以最大二五五,你给了一个256OVERFLOWS出去了,那有些同学说说老师如果我想表示256怎么办呢?没问题嘛,你可以把它放大一点吗。对不对,所以说你到底用哪一种数据类型,这个跟你的这个范围是有关系的,所以说这就提示我们程序员在做开发的时候,要根据你表示数的范围来选取合适的数据类型,或者是有符号的,或者是无符号的,所以说我们程序员呢,要非常清楚的知道你应该选用哪个数据类型,是跟你这个数据本身范围相关的,能理解吗?后面我们再讲这个如何选择好不好,所以这块呢,大家一定要搞清楚啊,要搞清楚好这个范围呢,我写一个是零到255。其他的以此类推,其他的一样类推啊。
14:01
类似对推即可。类推即可。好,这是我们举的又一个小案例,我把这个案例呢给同学们放到里面来。OK。好,把它放在我们的笔记中。记住这个图啊,好,Int的无符号类型就是这些,我们再来看关于整数类型,还有些其他的也要简单的了解一下,还有一些其他类型,比如说int u int rain和bit。还有这四种啊,这四种呢,首先这个int啊,它是这样写的,Int呢,默认是有符号的。这个int到底表示几个字节,跟你的系统有关系?比如说你是32位的系统,它一般来说占四个字节,如果你是64位的,这个64位的系统呢,同学们,那它就占八个字节。八个字节,那么同样表示数的范围呢,也就一样的推导出来了,比如说你是四个字节,又是。
15:04
有符号的,那么就是这个范围,如果是64位呢,就这个范围,能理解吧,好,那么UTUU呢,一样的,它是无符号的,它也跟你的系统有关系,你是32位的,就是四个字节,你是64位的,就八个字节,一样推导出这个范围,好吧,还有rain rain呢,它也是有符号的。它类似于INEL32。啊,类似于T32,它的范围是这样子的啊,然后呢,呃,它有它跟INT32有一点不一样的,就是它是表示一个UNO码啊,所以说后面呢,用它来处理带有中文的字符串特别有用,后边老师会再讲,还有一个BATBAT呢,它跟UT8类似,它是一个无符号的八位。一个整数啊,无符号的一个单位的整数,所以说嗯嗯,同时呢,这个BAT啊,也是在我们存这个字符的时候,单个。
16:03
字母字符的时候呢,一般会选用BAT来存储啊,那么我给大家举几个例子。我给大家举几个例子啊,来看一下这个int的其他类型的一个使用,放到这里来,注意听。好,我们写到这里来啊,写到这里。把它放小一点。不要占这么大的空间了。好。Int的其他类型的这个数据其他类型说明。好,那么我也把它先放到这里来。好,我举几个例子。啊,我举几个例子啊,我们看int。找一个。走一个啊,还还写到这儿。我们演示一下int,还有什么呢?UT啊UT还有RA。还有这个bit的一个。一个使用,那同学们来看一下这个int啊,Int呢,它默认是64位的啊,它默默默这个系统啊,就是int它是多少位跟你系统有关系,你比如说看老师的系统。
17:09
你看我的系统啊,同学们看我的系统呢,现在是64位。大家看我16是四位操作系统,所以说呢,它就应该是八个字节啊,它就应该是八个字节,好,我把它写到这里来,同学们看啊。VR。V2。啊BCA,比如说int。等于。啊,等于比如说我们来写一个比较大的数据。啊,你你们可以来看一下这个范围啊,比如说8900这个范围是吧,然后呢,我们输出来。走,因为它在这个范围里面以内嘛,所以说我这样输出呢,是没有任何问题的。对吧,诶你看这样子匀运行。是一样的。爱一样的。
18:00
可以输出来对吧,可以输出来。好8900,那如果说咱们是这个UU呢,你就不能存这个负数了啊,你看BU。你乘一个负一,它也是不允许的,因为它是无符号的,它的范围呢,就是老师刚才这个图片里面写这个范围,只要你这个范围以内,那就没问题啊,在范围以内就没问题,BYT呢BYT啊,我们再看一个BY。Bit一般来讲哈。B我们就写一个C吧c bit byte一般呢可以存,它是存零到255的。零到二五,因为它等价于一个无符号的这个INT8嘛,所以它在这个零到二五都是可以使用的,大了也不行,你看你属于比如说我写个负一,你看他也会报错。你看他,他马上就解释出来了,看错了吧。错了,他说直接就给你报错了,那你写个255。
19:02
二零它就没问题,零就是正确的,你写个最大二五五。二五也没问题。但是你写个256255怎么会有错呢,看一下啊。好,这个地方它提示这个原因是不是不是这个写错了,而是没有使用B和C这两个变量,它提示的是这个啊,我给它打印出来。因为在这个构语言里面,你定义的变量就怎么样啊,就必须要使用,不使用它会报错的。B。B,好,再来一个C。C等于对不对,C同学们看,诶,这个时候你运行没有任何问题,B和C都能够输出来。B和C都可能输出来,看到没有,但是呢,同学们看啊,如果我把这个加大一位。加大一位。好同学们可以看到他就跑不起来了,马上就报错了,对吧?诶你看他说256OVERFLOWS bit,所以说这个道理呢,还跟刚才老师讲的是一样的,对不对,是一样的,好老师把这个改回去。
20:08
其他的我就不再多说了啊,不再多说了,而且这个BY呢,经常用来存放我们的字母啊,后面具体怎么用后面再说。好,这是我们举的这么几个案例。好,我把这个呢,也放在咱们的笔记中去。OK。好,同学们,关于这个整数的基本使用,我们就说到这儿,下面呢就准备给大家讲一下整数使用的一个细节,聊聊这个细节的问题。好,这块我们先介绍到这里啊,细节我们下一个视频再讲。
我来说两句