00:00
呃,那么关于基本数据类型的变量啊,它们之间的运算,包括呢,跟string之间的运算呢,咱们就告一段落了,为什么这时候我们又把这个string呢给大家加进来呢?因为我们在开发当中啊,实际上是非常啊常用这个死轮类型的,所以呢,我们就把它呢提前呢也讲了,讲到后边某一个阶段的时候呢,我们还会再讲它啊在哪块去讲呢,看一眼。找到我们这个课件这个位置呢,有个常用类和技术API,到那个时候呢,我们再专门的把这个string的作为一个类,它有很多的方法,我们再去讲一讲,因为毕竟开发当中非常的常用。OK,好,那么关于这个变量这块,我们就暂时的告一段落了,中间的话呢,我们插一个内容来讲一讲进制。啊,然后呢,我们再去说变量之间这种运算符,那这块呢,我们讲完之后呢,就能够解决咱们之前呢遇到的一个问题,比如我们在讲这个强制类型转换的时候呢,说那我这是一个。哎,强制类型转化啊,是一个int类型的128,怎么我把它转换成一个bad的类型以后,这个结果呢,就变成负128了。
01:01
诶,就是因为呢,我们要关注于底层的这个二进制到底是长什么样子的,诶才能够去解释这样的问题,在这儿呢,我们就来看一看这个进制的问题,这个内容的话呢,不是特别难,但是有点绕。啊,对于大家来讲的话呢,了解一下。毕竟呢,你说咱们做软件开发的,计算机的底层呢,都是二进制,你说我对这块一点不了解,好像也说不过去是吧?诶但是这个内容呢,你注意不太重要啊。OK啊,那咱们这块呢,大家你注意听,听完以后呢,晚上呢,你也不用花时间再去研究它了。好,那么开始啊,说呢,计算机世界呢,只有二进制,所有计算机中存储和运算的数据,不管呢,你是内存当中的,还是磁盘当中的,全部都要转换为二进制。包括数字字符,图片啊,声音视频,无一例外。啊,这儿呢,我就诶放了一个,呃,稍微形象一点,大家去看啊,底层这个01010啊,就是这样个东西。啊,你要看到这个之后呢,咱们肯定读这个是没有意义的,计算机呢,需要把它再翻译一下是吧。
02:06
你总不至于说你看到这张图片,你说。真漂亮是吧?啊真好听是吧,啊,你都不知道它到底是什么啊,所以呢,我们得根据啊,你要是一个图片呢,啊,比如说它需要用,比如说点TP这格式的,点拼这个似的啊,我们有相关的这个读图片这个软件呢,把它再诶翻译过来。你要是这个声音的话呢,得用音频的这个软件呢,把它翻译过来等等类似的。好,那下边这句话说世界上呢,有。对,两种人是吧,哎,认识和不认识二进制的,咱们平时呢,太习惯于把它看成是十进制了,那当然这里边儿呢,想表达的是一个二进制,它的二啊。那进制的话呢,这里边儿我列出来了几种,十进制,二进制,八进制和16进制。在我们的生活当中,除了这些禁制之外呢,还有其他的一些。比如说。比如什么?
03:01
365啊,对,365天或366天,然后他会重新的再开始新的一年。包括呢,这个12小时是吧,哎对七天一个星期,哎60分钟是吧,哎六十进制等等,这个呢,有好多种进制,OK,那整体来讲的话呢,我们在生活当中最常见的还是十进制。啊,以至于说我们太熟悉十进制了啊,突然来一个二进制的话呢,你可能都有点儿不太适应啊,当然对于计算机来讲呢,他就认二进制。OK啊。好,那么十进制的话呢,呃,这个呢是它对应的这个英文数字的组成是从零到九,实际上一共就是十个数,那九呢,再加一就满十进一,这个都很熟了,那么二进制的话呢,就两数零和一。啊一呢,你再加个一啊,那就不是二了叭,如说这呢是就就是这个一是吧,前面都是零啊,然后呢,你这加个一的话呢,它就要进位了,那就这是变成一,这变成零了,所以这呢就是十进二进制的二啊。
04:01
然后八进制的话呢,这个很少使用。那它呢,对应的数值呢,就是从零到七八个啊,七再加一,那就往前进位。啊,那我们怎么去表达这个八进制呢?这块提到了以数字零开头。来进行表示,等一下咱们去写几个啊,然后下边这个呢,叫16进制,16进制的话呢,从零到九已经不够用了,它呢又借用了几个字符。啊,这个A到F,那那你能知道一共的话呢,是不是应该16个呀。对的啊,16个行,那么这个F。它其实代表的呢是15,相当于是吧,就是如果我们用十进制来表示的话,就是15了,它再加上一呢。就进位了是吧,进位的话那就变成一零了啊。哎,这个注意。那么它呢,是以零小写的X或者零大写的X呢开头的。那就是这样个情况,这里边的A到F呢,大小写不这个不区分了,你写小写的A,小写的大写的A都可以行,这呢就我们说的一个进制的一个基本的啊,相应一个规定啊,诶CTRLC不妨呢,我们说到这儿呢,就简单的写一个代码呢,去体会一下。
05:06
哎,咱们就称为那叫bary的一个测试吧。这个呢,我们来测试常用的这个,哎,禁制。哎,这呢,我把它就粘过来了啊,这把这个心我就去一下。嗯,行,看这呢,CTRLCCTRLSCTRLV保存一下。好,那下边的话呢,我们来写一写这个进制的啊,比如呢,针对这个十进制,我们就写成这个int型了,我叫NUMBER1,哎,我就呃103诶。我就随便写的啊,那这是103好,那如果说我现在想定一个二进制啊。定个二进制的话呢,这块我们说呢,只能是用零和一啊,你说我这块我写个他。这是不是也容易当成是十进制?或者说呢,这就这就是十进制啊,你必须呢,显示的在前面加上一个零。B、小写大写都行,这儿呢才表示的是二进制。
06:04
啊,你说我要是这样写的话呢,我这能写个二部。对,这就报错了,因为在二进制里边没有二是吧。哎,你看我们这块呢,去做一个编译。C。Test。直接呢,在第二十五行啊,这块就报错了,不行啊,这个呢,你写成它这呢是一个二进制。哎,就是咱们平时这样写的话呢,这都是十进制。好,那接着的话呢,我们起个八进制。In型的一个NUMBER3,这个呢,我写一个23。这还是十进制的。嗯呃,然后呢,你在前面呢,用个零开头。因为呢,咱们写十进制的时候呢,这个零一定就不写了。或者说不能写啊,当你要是用零开头呢,表示它就是一个八进制。啊没问题,好接着呢,16进制啊,In的一个NUMBER4啊,这个呢,你随便也是啊,写一个这个也不认为你是一个16进制还是十进制。
07:03
对,你说我这块加个A加A也不行。这块我要是编译的话呢,就。报错了。第29行这儿。啊,因为呢,我把你看成呢,就是十进制,你十进制里边怎么会有A呢,是吧?哎,你要想表达16进制必须。0X开头,小写大写都可以。啊,这呢是16进制。行,这呢我们就定义了四个变量,下边呢,我们把这四个变量给大家打印一下。哎,我就直接呢,就NUMBER1啊,我就。哎,写四行了。好,那么接下来的话呢,大家你看一看它打印的这个结果用什么进制来表示的。编译。通过了。好回车,哎,大家看。对,他把我们这个数据呢,全部都转化成了十进制。还说为啥呢?其实其实也没为啥。
08:00
哎,整个来看的话就是这样啊,咱们这块定义的话呢,说我就想让你表达的是八进制,这呢表达就是16进制,编译器呢也看懂了。但是呢,我不管你用什么禁制,它在底层。全是二进制。对,就是这时候呢,他用二进制呢,去存的你这些数据,那么转成二进制的时候呢,十进制转化进制啊,这个呢,它有一个转换规则,诶我知道你是八进制,我就按相应的规则呢,把你转换成二进制,总之呢都转换成二进制了。啊,这个时候呢,底层我也看不太出来,你这是用原来是用的什么禁制了,总之呢,你现在又想看想运行我呢,就把它呢全部呢都转化成咱们呃人呃平时能够哎这个是十啊擅长呢理解的这个十进制的。所以呢,这个打印结果呢,他不会说给你呈现这个八进制和16进制的啊,全部就给你再统一的转化成十进制去显示了。啊,这个大家了解一下就行。好,这呢是我们说的这个事儿,哎,那么关于近制这块呢,我们要讲的一个主要问题呢,就是来讲一讲进制之间的一个换算。
09:02
啊,换算,比如说我们特别熟悉十进制,那么二进制跟十进制之间怎么转呀?比如这是个二进制,你知道它对应的十进制是几吗?十进制的几,你能转换成二进制吗?哎,是吧,哎,就是这个问题,那先整体上来看一看,对于二进制来讲啊,先说十进制吧,这个我们太熟悉了。九完了以后呢,就是进位了十啊,以此类推,好,那么对于二进制来讲呢,这是零,一再加一呢,这是二,这是三。那再加一这个金卫了,四以此类推。然后呢,这个八进制呢,零这块到七以后再加一就进位了。哎,就这样。到这个17的时候呢,再加一又进位了20。猛一看,感觉怪怪的是吧?啊,你得适应一下。好,然后呢,我们再来看这个16进制,16进制的话呢,从零到九完了以后呢,我再加个一。变成A了。那A呢,就相当于是,呃,这个十的啊。哎,BCDEF啊,这相当于15啦,然后呢,再加一呢,这就进位了啊一零。
10:07
呃,现在大体上有一个感觉,哎,他是怎么,哎这个对应的。好,然后的话呢,我们下边呢,具体的就来讲一下这个十进制和二进制之间的一个转换啊,因为十进制我们特别熟,二进制呢,就是底层计算机选择的,所以我们重点呢来讲他俩,在讲他俩之前呢,我们先对这二进制呢有个简单的了解。哎,你看这块就提到了,包括呢,为什么计算机底层采用二进制啊。首先呢,这个二进制呢,呃,是计算机当中广泛采用的一种啊,技术方式啊,是由德国的叫数理哲学大师,这是两个啊。一般的这个莱布尼兹的话呢,都看成是一个数学大师啊数学家。啊,他呢,和牛顿分别独立的开发了。微积分是吧,啊就就算他俩都都算是了啊,就不争说是是这个还是那个了啊,然后这还提到一个哲学大师。啊,因为发明二进制的嘛。
11:01
呃,有的不是网上就说说是不是抄了中国的这个道家的。阴阳学说是吧?啊,道生一,一生二,二生三,三生万物,你看那个八卦里边不就是两个是吧。啊,一阴一阳是吧,诶当然这个呢,这个呃,大家你可以去网上看看这个考证到底是怎么回事啊,咱就不讲那个了,诶这里边儿呢,其实也蕴含了一些哲学的思想了,所以呢,叫哲学大师啊。好,他发明的啊,只有零和一,奇数是二,从二进一。诶,它呢,诶广泛应用于我们生活的方方面面啊,这个广泛使用的叫摩尔斯密码,比如说也叫摩斯密码。这个大家看一些那个谍战片的时候呢,经常有这个东西是吧,滴滴滴哒哒哒啊这个来表示的,第一呢,用这个小点哒呢,用这个短横线来表示,那这样的话呢,我们就把这些常见的这些字母啊,一些符号,然后呢,我们就可以呢给它哎做一个规定识别,那这个时候你可以用它呢表达相应的一些意思啊,比如说国际上通用的SOS,这个S呢,就是三个D。
12:01
这这就三个哒啊,滴滴滴哒哒哒滴滴滴,这就是求救呢。哎,就这个啊,上面我又放了一个,怎么形象点去记这个事儿,这个呢,其实也。感觉上没啥用是吧。啊,当然比较好玩啊,你看看就得了啊。行,或者你给你女朋友呢,写一个,你你用这个写试试是吧。那他也应该看不太懂,你把这个表发给他是吧。行,这个呢,就是我们说的这个叫二进制。哎,这样情况,那么为什么计算机使用二进制呢?实际上呢,计算机在最初设计的时候呢,也设计出过十进制的计算机,只不过呢,十进制呢特别复杂,再去升级的时候呢,很困难,那二进制为什么要方便呢?因为我们有这个低电压和高电压。哎,低电压呢,我就要零高电压就是一诶所以高低电压哎一搭配我们这个数据呢,就很好去表示了。啊,后边的这个计算机在升级的时候呢,这个二进制呢,它的推进速度就很快啊,所以后边呢,就广泛的使用二进制,诶作为计算机的一种数了。
13:00
啊,这是我们说的这样一个情况啊。好,那么接下来的话呢,我们看一看二进制和十进制之间的一个相互转换。行,那说到这个相互转化的话呢,呃,就提到了这个正数啊负数啊,包括这个原码反码补码呀,这样的一些概念了啊这块咱们就直接呢,通过画图的方式啊,给大家呢去做一个说明。行,那找到咱们这个课件。哎,这儿呢,我有一个PPT啊,把它打开。OK啊,诶,咱们在这里面呢,给大家呢,画画这个图。呃,那么画图的话呢,我们就考虑一下这个十进制与二进制之间的一个转换,哎,首先呢,咱们来说一下这个二进制转为啊十进制啊。哎,十。金制。往这一放,呃,那么二进制转十进制呢,咱们得先整一个二进制啊,那这个时候呢,咱们就得比如说表达一个数值了,这个数值呢,如果我用int来表示的话呢,它得占32个位啊,呃,有点长。
14:05
那我这块呢,我就用一个BAT来表示吧。呃,因为bad呢就比较短一些,实际上呢,这个bad呢,大家整清楚以后呢,你换成int是一样的道理,OK,所以这块我先这么着,嗯,插入一个表格,这个长度呢,就是八了,这就相当于咱们的一个BAT了。啊,如果呢,你要是表达in的话,你就整成32位,有点太长了哈,哎,那我们就拿这个BAT来说明好,那么这呢是一个BAT里边呢,每一个框只能放零或者是放一。哎,OK,然后呢,这儿呢是哎,就是右边这块呢,这是第一位。哎,这个是低位,这个呢,左边这块呢是高位,这跟咱们以前上小学时候呢,学的这个是一样的。哎,我记得我上小学的时候呢。大家应该没有学过那个算盘是吧?对,我上小学的时候呢,一二年级的时候呢,这个老师在学校还教算盘,那时候家里边也有算盘,说你把算盘呢都拿过来,学校还教这个打算盘啊,然后呢,我们我印象很深,我在那个算盘这边呢,还有那个。
15:08
白胶布啊,粘一块,然后上面写的低啊,这个写个高是吧。啊,就是这是低位,这是高位啊。行,那么高低位呢,知道以后呢,接着还有一个概念,就是我们这个最高位。哎,稍微往这边移一下啊,这个最高位这个位置呢,我们让它呢来表示这个叫符号位。嗯,这个在这写一下啊。这个是哎符号位,因为呢,咱们说这个BAT也好啊,还是其他这个整形数据也好,它呢既可以表示正数,也可以表示负数,那你就哎你就得区分一下,怎么叫正,怎么叫负呢?我们用最高的这个位量来表示,那么如果你要是一个零的话呢,我们表示的就是正数。哎,正数啊,这是零,然后呢,你要是一个负数的话呢,就是一。哎,有这样一个特征,所以呢,我们先来说这个正数啊,正数比较简单一些,那这块我就是零了。
16:03
啊,这个咱们也可以把它选中啊,往中间放行,这呢,就首先这是一个正的二进制的数,那么具体来看的话呢,我这个位置比如放个一。呃,这呢,如果要是全是零的话呢。这个大家应该都很清楚。这就是一是吧,啊,那我要是。再加一的话,那就是变成一零了。这是二是吧。那这呢,就是。三吧,行,那我就随便我整一个啊,你说这是几。这有点懵了是吧,11啊。啊,那咋算的呀。啊,那这是不是都预习过呀,还是。啊。诶,你看咱们怎么去处理,咱就当大家没有预习过来啊。诶,我说呀,我可以这样去考虑啊,诶这个数你问我是几呢,我先呢把它拆成三个。哎,我想把它拆成三个哈,这个我都给他置顶了啊。
17:04
拆成哪三个呢?哎,这个是啊,先这个把它改成零吧,这个改成零,这个改成零,这个改成啊这个啊。那就是让他们特别独立的啊,这是一,这是一,这是一,这三个数相加是不是就是这个数。哎,对,所以我们现在要做的是呢,就是你把这三个知道是几就行,那这个咱们已经说了,它是二是吧。这个呢,是。哎,错错了是吧,这是一是吧,那这个呢是二。哎,对,这个你可能不太清楚啊,这个你往前推一推呢,其实这个呢,知道它是八。啊,那么接下来的话呢,我把这几个呢,改一改一呢,看成是二的。零四米。这呢是二的一次幂,二的三次幂。哎,然后呢,让这三个加就行了,哎,那所以上面这个数呢,我就可以他们三个做加法,哎,我这样呢写一下。哎,我就按照这个顺序来吧,一乘以二的几次幂啊,这个我用这个尖呢来表示。
18:07
这个呢,02:30米啊,再加上一乘以。二。一次米。再加上一乘以二的。哎,零四米好,这个结果呢,八加二加11,诶,所以呢,这时候我们这个数呢,就是11。哎,它就11了,好,然后这个完了以后呢,我们接下来去看啊,这个是三,这个是一,这个是零,然后呢,我们这时候就可以考虑它的这个位了啊。如果这个位置呢,我们看成是零的话啊。哎,这个位的话呢,我们把它看成是一,这个看成是二,这个看成是三,诶其实这块呢,不就有个这个数吗。六。对,咱们呢,就可以呢,这样来处理了,哎我哎,如果呢,我现在就是呃,随意的啊,给大家一个数,我CTRLC一下,咱们再换一个。我随意的给大家一个数,比如说这呢是个一,这呢也整个一,来问这个数是几?
19:04
咱就知道了该怎么算了。对,你看这个是一,这是二的零次幂,二的一次幂,二的三次幂,这是四次幂和五次幂是吧。在前面是不是就补啊。一乘以二的。嗯,这是三,这是四,这是五是吧?诶,五次幂再加上一乘以二的。四次幂再加上这个是不是这样就行。哎,那你这块算一下是几。32。呃,16是吧,加上11吧。是多少?59吧。哎,这个就是59,你说这对不对呀,来咱们拿计算器看一下。好,这是计算器,咱们拿这个单子解,嗯,这不就长这样吗?然后呢,十进制的话呢,咱们看一看59 59变化成二进制啊,你看这就行啊。
20:00
0011001110111011,哎,这不就他吗。哎,这样就行。行,那么如果现在给大家一个二进制,这个二进制的前提呢?它的最高位呢是零,那就说明它是个正数。这如果要是个正数,哎,问这个数是几?哎,咱们就得到一个公式啊,哎,你就按照这个相应的这个位呢,给它往一块儿去加就行了。啊,这呢,就知道这个数是几了,啊这个我在这写上来问这是几是吧,那现在我们得到了它是59。好,那这个要知道以后呢,咱们说这个对于来讲最大的。整数是。六月27是吧。那这个1827呢,你能想到是。对,实际上是不是就这样啊。哎,这个呢,是几呢,它就是。哎,127。哎,这个哎放到这儿吧。哎,这个呢,你可以这样看,这叫二的零次幂加上二的一次幂,再加上点儿点儿点儿,这是二的。
21:05
60米吧。往一块去加对吧,这个你从往前看的话呢,这不就是,呃,这个公。比为二的。等比数列的前项和的求和公式是吧?求和是吧?公式还记得不?一减QQ是二吧。工笔是二是吧。呃,上面怎么着。A1A1这个是一是吧,呃,然后呢,Q的N次幂减一,七次幂减一,呃,反了。哎,就是A1括号一减Q的N次幂哈,这个我写反了哈,那把俩交换一下,然后最终的结果呢,就2.7次幂减个一吧。2.7次幂是。128减个一,这不127吗。那这个我已经忘了。忘了就忘了吧,是吧,哎,这个是127啊行,这个呢,就是我们说的这个正的,呃,Bit的话呢,最大的127就长这样,在这呢,你也可以看一眼,停掉127啊,这不就全是一吗?最高这个呢,你不能再整了,这个是符号位啊。
22:10
行,那么关于正数呢,我们就说清楚了,相对来说正数比较简单。哎,那下边我们来看一下这个负数的情况。好,那么负数的话呢,比如说啊,咱们刚才也知道说这个数呢是11啊,我CTRL,诶我再把它借用一下啊,CTRLC一下,咱们拿过来往这一放,这个呢是正数是11,我把这个零呢改成一了。啊,我们A说这是几。大家可能会说,诶,这不就负11吗?注意,没这么简单。啊,不是这样子的了,那么关于负数的话呢,我们这时候呢,就得多说几句了。哎,复数的话呢,它有一个概念,看一下我们这个课件。实际上正数这块也有,只不过正数这块呢,因为五码啊,这个原码反码三码合一,哎,也就是三码是一样的,所以我们刚才讲正数的时候,根本就没有提这个事。
23:06
啊,因为都一样啊,你就看到都是圆码了,那么对于负数来讲呢,就不一样了啊。行,那我们看一看,说负数的源码什么意思。把十进制转化成二进制,然后呢,最高位呢设置为一,诶砝码呢在原码的基础之上,最高位不变,其余的位取反零变一,一变零,补码呢在反码的基础上再加一啊一看完挺绕的啊。不用看这个了,咱们直接呢来操作。啊,直接来操作哈,说这个呢是几呢。啊,其实我们说这个时候呢,还得再说一个事儿啊。再说一个这个事儿。计算机的底层。是使用二进制的补码形式存储的。这句话很重要。还是这个意思,正书为啥没说呢?因为证书咱们就根本。都一样,所以就不用去谈这么细节了啊,复数这块呢,必须要说。
24:03
先把这个事儿抛出来。哎,先把这个事儿抛出来,以不满的方式呢进行存储的,那咱们现在呢,说这个数对应的是集,说白了这是某一个数的。五码是吧。诶对,这是补码,当然这个呢,咱们问这几,咱们一会儿再说哈,诶我呢,先通过这样的一个题目呢,咱们把这个呃圆码反码补码,先把这个事说清楚,一会儿我们再做一个练习去说,呃类似的问题哈,先这么着。大家看啊,如果这个位置是零。这块是我们整个最难的地方啊,注意看啊,这个位置如果是零,这是不是就是11。好,我把这个位置我改成一了。改成一的时候呢,我把它看作是叫负11的源码。这个圆啊。这叫负11的源码。那么我们现在呢,想看看负11在底层是怎么存的,源码不靠谱,因为计算机底层是存在补码,所以我们看看这个源码怎么就得到补码了。
25:09
行,首先针对于它往下拽一下。嗯,这个我们把它置顶。诶,刚才也说了啊,源码我们先要把它改变成砝码。那这个我们找到它的这个。砝码,这个怎么找到砝码呢?刚才说到了,说除。符号为Y。各个位。对,取法。零变一,一变零,所以这个位置不要动啊,这个改成一。零一。零零是吧,好这个呢,就是负11的反码。就长这样,然后在这个基础之上呢,我们再找他的这个补码。
26:00
嗯,注意点啊。哎,那么这个呢,操作呢,就是我们在呃反码的基础上呢,再加一就可以了。砝码加一。哎,这个呢,就我们说的补码啊,那加上一这个就变成一就可以了。好,这个呢,就是负11的叫五码。也就是说计算机的底层负11呢,长这个样子。实际上感觉怪怪的啊。啊,它就就长这么怪,来我们看一看。这我们清一下11负的,哎,你看这块。1111111101010101,诶就这样。OK啊行,那么如果你想看说,诶你看啊,我现在有个需求,如果你想说负11底层长什么样。底层怎么存的负11,那其实你就是在找负11的补码。啊,说正数怎么不讲呢,正数呢三码合一,所以呢,你说这个是11的圆码也行,11的补码也行,反码也行,三码合一了,所以我们就不说了啊,所以11呢就长这样,哎,但是你要说负一的话呢,必须要找负11的补码,那我怎么找呢?先找到负11的源码。
27:12
复制源码怎么找呢?你先找到11的源码。挺绕的是吧。哎,先找到11的源码,11这不是一个十进制的吗。哎,11的源码找到之后呢,你把这个位置最高位改成一,这就是负11的源码。哎,然后呢,你再按照这个逻辑呢,往下走,是不是就找到负11的补码了,所以通过这个需求呢,我们这块做的事情是什么呢。这是这个需求。啊,就是负11在底层。哎,如何存储?哎,这里边儿首先它是补码,那第二问题怎么去找这个补码,哎,刚才我们说清楚了。行,那这个说清楚以后呢,我们紧接着呢,就做一个练习了,我CTRLC过来。
28:00
哎,CTRLC。好,过来啊,过来呢,我就随便的动一动。这个动一动吧。问,这个数。是几?是吧?哎,这个数是几,首先你看到是不是最高位是一了。呃,当然这个前提呢,我得先说这是一个BAT啊,如果这要是一个in的的话呢,这就不是符号位了,那前面呢,它就相当于把零给省略了啊,这个呢,我是一个BAT,是个BAT呢,这一共八位,这就是符号位,所以这是一个负数。那就想说,诶,那你也没跟我说这个是补码还是原码还是反码呀。注意,不会告诉你的。哎,不会告诉你的,哎,或者换句话说啊,咱们为了得到负11在底层怎么存,咱们造出来了两个概念,一个叫原码,一个叫反码。呃,然后把这个叫补码了,一旦我知道这个东西底层是存他之后呢,这俩东西啊,没有意义。
29:00
啊,你可以理解成了叫过河拆桥是吧。哎,我呢目的呢是要得到它,得到它以后呢,这俩东西呢,我只是作为过程存在的。对啊,谈了三个男朋友,最后这个结婚了,这俩呢,都是作为过程存在的是吧?啊不用问了,就是最后这个是吧?啊好,那这也是一样,说这是几,不用再去问,说你这是原码还是补码呢?不用说了,就是补码。好,那这是几那怎么办?对,往回返是吧,所以只能是这样了啊,所以呢,先这个,所以这个过程我就不细写了啊,先让他记写一下吧,减个一。减个一把这个改成零是吧。这个呢,就是这是某的补码。这个呢,我们简易就是某的反码。嗯,好,然后再接着。对,在除符号位之外呢,取反。
30:03
来去发。嗯,好,这样的话呢,我们就得到诶它的一个源码。OK,行,那整吧,是零。零。一。零。一。零一好,这个呢,变成某某的这个源码的时候呢,这个符号位呢,你可以先就不管它了哈,这块就我们按二的零次幂一。一次幂二次幂四。呃,这是16是吧,哎,这个一加呢,就是。21,然后这呢负号啊,这就是负21的源码,所以往前一推,哎,所以这个数呢,就是负的21。哎,这就出来了,来我们看一看对不对。哎,清一下21负的,哎,看一下啊,11101110,然后1011,哎没问题,诶所以这块我们推论呢,就是正确的。好,那么刚才呢,我们演示的这个操作呢,都是十进,呃,这个二进制呢,转化成这个十进制。
31:05
这个正数也好,负数也好,咱们就都说清楚了。哎,这个稍微大家体会一下啊。
我来说两句