数组转为list的几种方法

时间:2025-03-15 16:11:19
如何计算补码

做而论道_CS: 补码,并非是由人编造出来的。 补码,来源于算术计算的方法,是自然形成的。 原码反码取反加一,这些不过是计算机专家编造的谎言罢了。 马户又鸟,在这里有一大批啊! 你看十进制: 25 - 1 = 24 25 + 99 = (一百) 24 如果你舍弃进位,保留原来的位数,+99 就是-1 (在三位数时,+999,也是-1。) 加法,也就能代替减法。 二进制,也是一样的规律: 2 + 255 = 257 = 256 + 1 这里的 256,就是进位。 用八位二进制计算,如下: 0000 0010  + 1111 1111(即 255) --------------  1 0000 0001 算上进位,九位数,就是 257。 计算机算的,是没错的。 如果你舍弃进位,只取八位的结果: 0000 0001 (十进制 1) 那么,本次计算,就是: 2-1 = 1。 此时, 255,就是 “负一” 了。 254 = 1111 1110,就是 -2; 253 = 1111 1101,就是 -3; 。。。 。。。 128 = 1000 0000,就是-128。 补码,就是这么来的。 补码,也是常规的数字,没有什么特殊的。 所以,用补码可以计算,结果必然是正确的。 而原码反码,都是胡编乱造的,都不是数字。 所以,用原码反码来计算,就啥也不是。 这些小学算术的规律,计算机专家是看不出来的。 老外的算术能力太洼了,此处就是一个证明。 弄不明白,才编造了:机器数真值符号位原码反码... 这一滩垃圾。 实际上,这些,和 “补码” 没有任何关系。 舍弃进位,才是补码的源头。 1111 1111,究竟是 255,还是-1? 这个事,要看你算法。 算法? 老外,哪能弄懂啊!