首页 > 编程知识 正文

男生说的c是什么意思,c语言菜鸟教程

时间:2023-05-04 12:13:30 阅读:39589 作者:3056

原码、反码、补码、个人理解

源代码:

二进制点表示法,即最高位表示符号位,"0"表示正数,"1"表示负数,剩下位表示数值的大小

正数的最高位是0

负数的最高位是1

示例:

符号位数值位

70 0000111

-7 1 0000111

反码:

正数反码与原始代码相同,没有任何变化

负数的反符号:与原始符号的符号位相同,其他值相反,即0变为1,1变为0

示例:

符号位数值位

70 0000111

-7 1 1111000

完成代码:

正补数与原始代码相同,没有任何变化

负数的补数是负号加1

示例:

符号位数值位

70 0000111

-7 1 1111001

总结:

一个字节的范围为什么是-128~127

一个字节是8位,即00000000(8位)

因为计算机为了区分正数和负数,取了一个符号位来表示正负,所以最大的数只能表示1111111(7位)。

如果将二进制1111111转换为十进制,则为127。

请告诉我。 我的理解正确吗?

一楼的ithzc建议看CS APP。 其中写道:“从二进制转换为补数有函数。 这个函数的关键是权重。 字节的最高权重为-2^7,最高2位权重为2^6,最高3位权重为2^5……同样,在最低权重达到2^0之前,可以看到最高权重为负号。 其他国内的教材都是你说的那种解释,CSAPP解释了代码的区别,每个代码对应一个函数。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。