常见直播协议介绍:RTMP、HTTP-FLV、HLS

原码、反码、补码简介
做而论道_CS:
实际上,任意负数(-X)的补码,都是:0 - X。
你用二进制简单算一下,立刻就能得到结果。
(-128 的 8 位补码,也就是这样求出来的。)
同理,任意正数(+X)的补码,也都是:0 + X。
这还用算?
0 + X,不就是 X 吗?
即,零和正数的补码,就是 X 本身!
综上,无论 X 是负数还是正数,都可以写成:
补码 = 0 + X。
这就是【补码的定义式】。
----------------------
求补码,就是这么简单。
机器数真值符号位原码反码取反加一符号位不变正数三码相同模同余补码加减之后还是补码...
这些知(垃)识(圾),并无任何用处。
计算机专家说这些,不过是 “拿个鞋拔子当如意” 而已。
(在此向刀郎表示一下敬意。)
你就是把这些都背熟了,也不会明白 “加法代替减法” 是怎么得来的。
======================
由补码,换算到十进制数,怎么弄?
这也是极其简单的事!
只需记住:【补码首位的权,是负数】即可。
一般的八位二进制数,各个位的权是:
128、64、32、16、8、4、2、1;
如果是八位的补码,各个位的权则是:
-128、64、32、16、8、4、2、1。
如果,有一个补码:1110 0000,
它就代表十进制数:-128 + 64 + 32 = -32。
再有,另一个补码:0110 0000,
它代表十进制则是:0 + 64 + 32 = +96。
仅仅使用【进制转换】,不就完事了!
原码反码取反加一 ...,干什么用?
那就是个【拐】。
原码、反码、补码简介
做而论道_CS:
弄懂了补码的来历之后,怎么求补码呢?
学习计算机,首先要记住:
1. 计算机使用二进制。
2. 计算机的字长是固定的。
八位机,每次计算,就是 8 位数。
3. 计算机只有加法器。
负数以及减法,都必须用加法来完成。
-------------------
那么,14-14 = 0,八位机的算法如下:
0000 1110 + xxxx xxxx = 0000 0000。
(进位必须舍弃。)
这里的 xx...x,就是【代替-14 的正数】。
也就是:【-14 的补码】。
这个 xx...x,究竟是什么?
你自己,肯定也可以推导出来的。
先移项:xx...x = 0000 0000-0000 1110。
再计算:xx...x = (借位 1) 1111 0010。
舍弃借位:xx...x = 1111 0010。
此时,就求出了【-14 的补码 = 1111 0010】。
简不简单?
意不意外?
【!!!负数的补码,就是这么推出来的!!!】
补码,和 “符号位原码反码取反加一 ... ”,
一丁点的关系,都没有!
原码、反码、补码简介
做而论道_CS:
补码,实际上就是一个 “代替负数” 的正数。
补码,来自于【算法】。
你看看小学做过的算术题吧:
25 - 1 = 24
25 + 99 = (一百) 24
你如果舍弃进位:
+99,就能代替-1。
减法,也就用加法代替了。
==划重点===============
* 只要舍弃了进位,补码,就诞生了! *
* 这样做,就消除了负数和减法运算! *
* 有了一个加法器,就可以走遍天下! *
====================
讨论补码,是多么简单的事!
哪有什么原码反码。。。
根本就不用弄的那么玄乎。
计算机专家,上过小学吗?毕业了吗?
值得怀疑。。。
原码、反码、补码简介
做而论道_CS:
补码:正数和0,补码为其本身;
负数的补码,在反码基础上,不考虑符号位,最末一位加1。
--------------
书上,也是这么写的。
但是,写的对吗?
如果码长是 8 位,各码的表示范围如下。
原码:-127 ~ +127;
反码:-127 ~ +127;
补码:-128 ~ +127。
注意到了吗?
-128 只有补码,并没有原码和反码。
没有原码,拿什么取反?
没有反码,拿什么加一?
所以,用 “符号位原码反码取反加一” 这一套说词,
来定义补码,就是一个谎言。
TCP三次握手、四次握手过程,以及原因分析
codingRr:
闭耳朵,哈哈哈哈好可爱