算法之原码、补码、反码(四)

网友投稿 272 2022-11-11

算法之原码、补码、反码(四)

【1】原码、补码、反码是机器存储一个具体数字的编码方式。

原码

【2】原码是符号位+真值的绝对值,第一位表示符号位,其余位表示值。例如:一个8位的二进制0000 0001(1原码)1000 0001(-1原码)8位二进制的表示范围是1111 1111-0111 1111(-127,127)

反码

正数的反码是本身,负数的反码是在其原码的基础上,符号位不变其余取反。也就是说0000 0001(1原码)----反码相同 0000 0001(1反码)1000 0001(-1原码)----反码符号位不变其余取反1111 1110(-1反码),这个数就看不出表示的是啥了,需要转成原码才能看的出。

补码

正数的补码还是本身,负数的补码是在原码的基础上,或的反码最后+1.

【总结】正数--反码(自身)--补码(自身)负数--反码(符号位不变,其余取反)--补码(反码+1)【例如:】byte b = (byte) 130; b = ?【分析】1、计算机中的运算都是补码进行的2、计算数据的二进制,130(默认int类型4个字节),即1000010(1个字节)补成4位字节后为:00000000 00000000 00000000 1000010(正数-反码-原码)byte截取一个字节即(1000010)---(补码)3、补码转反码 100000014、反码转原码 1 1111110(-126)【拓展】这里我们分析byte b = (byte) 130; b = -126;(byte-128:人为规定-0就是-128-----127)也就是说是一个循环,也就是说127(127)128 (-128)129(-127)130(-126)131(-125).....400(-112)计算思路:从-128--127 共256个数400-256=144(-112)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:解决springboot项目不配置数据源启动报错问题
下一篇:史上最大AI模型GPT-3你要开始收费了 接下去可能用不起它了
相关文章

 发表评论

暂时没有评论,来抢沙发吧~