关于补码的问题
可以理解一个字节中表达的最大值是127,但是不明白为什么最小值是-128,希望能通俗易懂一点,谢谢 0至127 共 128(包括 0)-1至-128 共 128 知识点传送门
4. 补码
计算机是用补码的形式来存放整数的值。
正数的补码是该数的二进制形式。
负数的补码需要通过以下几步获得:
[*]先取得该数的绝对值的二进制形式
[*]再将第1步的值按位取反
[*]最后将第2步的值加1
换种方式说:8位只能表示256个数,0到255,但我还想表示一些负数怎么办呢?
就用与该负数同余的正数来表示呗。-1=255,-2=254,等等。
建议脱离算数的思维方式,这其实就是一个环。
举个例子用以上的方式求一下-127的补码:
[*]绝对值二进制形式:0111 1111
[*]按位取反:1000 0000
[*]加一:1000 0001
得出与-127同余的正数为129
则得出-128同余的正数为128
页:
[1]