00:00
我现在出一道小的问题,把这个啊,我CTRL一下看啊呃,我这个位置我如果要是写的是个零哈,说这呢是十进制的几好算不好算,你这就20几次幂,是不是就这样累加就行,好,那现在我把它改成一,这呢我随机的调一下啊。好,我随便改了改,说这呢是十进制的几,说这个数到底是十斤的几?有同学可能会想,诶,你没有告诉我这是原码反码还是补码呀,底层对这个问题呢,就不要问了。嗯,对,他要给你的话呢,呃一定是谁呀,对一定是补码,呃,因为这两个呢,咱们相当于你是为了引出这个补码啊,其实这两个概念你就引出来以后呢,你就忽略掉它就可以了啊,他没有说那这一定是补码。
01:10
那这个补码你怎么能够知道这是几啊,那你只能是不是往回推啊,对啊,你要知道它是几只能往回推,所以我们得先,这肯定是这个数的一个补码啊,哎,那我们得想办法得往回推,哎呢哎,把它的减一。哎,先减一啊啊减一啊,把这个先先放到这,我们想得到它的这个叫砝码啊减一,那就把这个变成零呗,哎,然后再接着,哎,除符号V之外呢,取反。哎,那取法我们就得到它的这个所谓的叫源码。
02:07
嗯,取法这个就不用动了啊,然后从这开始一呃000101,好这个呢,就是它所谓的某个负数的一个源码了啊到这块的时候呢,你是不是就可以按多少次million算了,对你这是2.0次幂,2.0次幂这是一吧,这是一次幂二次幂,这是四八十六,32 64好加一下呃69,那这呢,其实它呢就是69。因为这个数呢,其实是69这负数的,这个负的源码是吧,哎,是个负数了,然后这块呢,就是负的69呗。
03:00
验证一下啊,哎,我们在这块呢,你可以把咱们这个,哎,我们以二进制的方式哈,哎,比二进制就直接我们这个输入这个69来,69来个符号啊,你看这个。1011 1011,哎,这不就对了吗?哎,这就是这个负69啊嗯,这个大家听一听就行了啊,就是本身这个呢,咱们平时也没人让你去这样去写是吧?嗯,行,这要清楚以后呢,那再拓展的,我们看下边问题啊,你说对于bet来讲,它这个最大的数是正127对吧。这二期的话呢,其实。正127长啥样了?这是零,就这样呗,啊,这是正的127是吧?正的127啊,你能得到负的127不?
04:00
通过正的二。这二期得负127,这这就相当于咱们的这不都已经讲过了,你把这个呢,是不是最高位给它改成个一,这就是负127的一个原码呗,哎原码哎,然后呢,你再给他各位的去取反是吧。哎,取反,然后这个不要变,这个呢改成零,哎,这个是负127的一个反码。哎,砝码,然后再接着加一。哎,加一,那就这个加个一变成个一呗,那底层负127就长这样。哎,底层负127呢,就长这样,那要负127知道了,那底层问一下负128长啥样。
05:03
负二七减一是不是就负二八,那这个减个一呗,他要减个一,那就就变成它了呗。负128底层长这样。是不是感觉感觉很诡异啊啊,可能跟你想的不一样啊啊,你觉得这个不应该是这个,这都是零了,这那它就是负二嘛,啊来看一下啊,我们呢把它呢,这不是一个字节,嗯,咱们呢得咋写啊哎,幺二先整个负的啊这个128负128啊这不是这样吗。哎,底层的负二八就长这样啊,好,这个说清说清楚以后呢,我们就能解释什么问题了,解释咱们,哎,咱们那个不是有一道这个强制类型转换的啊,咱们这是一个32位的,32位的,咱们这是一个正的128吧,还记得吧,对正的128,然后我现在呢,是一个int形的,我把它强转成是一个BAT,假装成一个BAT呢,是不是就只保留了最低的这几位了,剩下这些值就都不要了吗?哎,你看这是不是就是负二八了。
06:25
哎,相当于呢,就是呃,你这个呢,呃,本来是一个正数,但是你就保留这样的两块区域,然后最高的这一位本来是一个数的,结果现在突然是不是变成一个符号位了,哎,所以一下子就变成负一二法了,哎就是这个原因造成的啊嗯,行,那这样的话呢,咱们就把这个嗯,一个二进制的原码反码补码这个关系说清楚了,以及呢,我们如何实现啊,这个叫二进制到十进制的一个转换。哎,咱们现在也就讲了啊,是二进制,哎,我们把它呢,哎转化为这个十进制,哎这个就说清楚了啊,正的也好,负的也好,哎就都会了。
我来说两句