原码、反码、补码介绍
内存中所有数字都是以补码的形式存在的
对于正数来说,原码、反码、补码三码合一
原码:二进制表示,最高位为符号位0-正数,1-负数
反码:在原码的基础上,除符号位(最高位)取反,即0变1,1变0
补码:在反码的基础上,末位加1
eg:(均为1字节)
13
原码:0000 1101
反码:0000 1101
补码:0000 1101
-13
原码:1000 1101
反码:1111 0010
补码:1111 0011
不同进制的定义
- 二进制: 0-1 满2进1,以0b或0B开头(是数字0,不是英文字母o)
- 八进制: 0-7 满8进1,以数字0开头表示
- 十进制: 0-9 满10进1
- 十六进制: 0-9及A-F 满16进1,以0x或0X开头(是数字0,不是英文字母o)。此处A-F不分大小写
// 二进制100
int i1 = 0b01100100;
// 八进制100
int i2 = 0144;
// 十进制100
int i3 = 100;
// 十六进制100
int i4 = 0x64;