发布网友 发布时间:2022-05-09 16:48
共2个回答
热心网友 时间:2023-10-09 13:53
你概念没理解清楚。。。。追答首先 我回答的有问题……
百度说:
所谓原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
注意最高位,最高位是1 表示负数,最高位是0 表示正数……
1001 本身就是负数,那么它是负多少呢? 此时需要根据上边的规则,如果是补码,那么就要取反加1,从而得到0111(7),所以1001补码表示的是(-7),如果是反码,那么就只取反,从而得到0110(6),所以1001的反码表示的是(-6)……
综上,编码规则是用来解释数据的,同样的1001,不同的编码表示的数是不同的……
需要注意的是正数,三种编码表示的是同一个形式……
热心网友 时间:2023-10-09 13:53
因为 在c语言中1001是表示负数(-1001)的意义,所以计算的时候先求反码再加一 。这是个计算二进制数的规律。所以1001的反码为-----0110然后再加一就得到0111