**
1: 在程序中表示一个数据的时候,可以使用几种进制来表示?
**
在程序中有四种进制。
2进制:一位上可以有2种不同的状态[0-1] 逢2进1, 在计算机中一个0或者一个1称为1bit(1位),是计算机中最小的存储单元。8位表示1byte(一个字节)。以0b开头,
例如:0b1010(表示十进制的10)
8进制:一位上可以有8种不同的状态[0-7] 逢8进1。以0开头。例如:012(表示十进制的10)
10进制:一位上可以有10种不同的状态[0-9] 逢10进1。默认。例如10
16进制:一位上可以有16种不同的状态[0-15] 逢16进1 (用a–f或者A–F表示10–15)。
以0x开头。例如:0xf(表示十进制的15)
单位换算:
8bit—>1byte
1024byte—>1KB
1024KB—>1MB
1024MB—>1GB
1024GB —>1TB
1024TB—>1PB
进制转换表
**
2.计算机中底层存储数据的二进制形式:机器码
**
机器码:原码、反码、补码
(1).原码:用最高位代表符号位 0代表正数,1代表负数,剩下的为数值位。
10: 0000 1010(原码)
-10: 1000 1010(原码)
(2).反码:如果是正数,那么原码和反码相同。如果是负数,以原码为基础符号位不变,其余的位1变0 ,0变1。
10: 0000 1010(反码)
-10: 1000 1010(原码) 1111 0101(反码)
(3).补码:如果是正数,那么原码和补码一致。如果是负数,那么以原码为基础,先求反码,然后再+1
10: 0000 1010(原码) 0000 1010(反码) 0000 1010(补码)
-10: 1000 1010(原码) 1111 0101(反码) 1111 0110(补码)
-1:1000 0001(原码) 1111 1110(反码) 1111 1111(补码)