十进制 -3
机器数 10000011 (不是真数)
真值 -3 (-000 0011) 符号不参与计算
原码(符号位加上真值的绝对值)
正数(3) 0000 0011
负数(-3) 1000 0011
反码
正数(3) 0000 0011
负数(-3) 原码除符号位取反
1111 1100
补码
正数(3)
负数(-3) 反码+
1111 1101
正数 原码 反码 补码一致
负数
原码 -> (符号不变 原码取反)反码 ->(反码+1) 补码
下面展示一些 内联代码片
。
// An highlighted block
原码
1-1=0 === 1+(-1)
0000 0001
1000 0001
1000 0010 -2
反码
0000 0001
1111 1110
1111 1111 -127 10000000-1 0111 1111
补码
0000 0001
1111 1111
10000 0000 0
byte 1字节 8位
最大值 0111 1111 2^7 1000 0000 -1 = 127
最小值 -128 最大值 1111 1111(不是这样表示
-127 -1
原码
1111 1111
1000 0001
反码
1000 0000
1111 1110
补码
1000 0001
1111 1111
1000 0000 -128的表现形式
原码
char
1111 1111 1111 1111
1 00000000 00000000 -1 2^16-1 65536-1
进制转换
十进制 100 -> 二进制 0110 0100
96+4 64+32+4
短除 十进制/2
二进制 0110 0100 -> 十进制 100
幂阶法:系数*基数的权次幂相加
系数:每一位上的数据
基数:X进制,基数就是X
权:最右边那位对应0,每左移一位加1
1*2^6+1*2^5+1*2^2 = 64+32+4=100
十进制 100 -> 八进制 0144
八进制 0144 -> 十进制 100
1*8^2 + 4*8^1 + 4*8^0
十进制 100 -> 十六进制 0110 0100
二进制0110 0100 -> 八进制 0144
二进制0110 0100 -> 十六进制0x64