第一章 计算机硬件基础
目录
一、数据的表示
1.数据表示
R进制表示原则:逢R进一
二进制:B 八进制:O 十进制:D 十六进制:H
2.进制互转
二进制转八进制(反之倒推,不足四位的在左边添0补齐):
从右往左 每3位二进制转1位八进制
二进制转十进制(反之倒推):二进制 -> 十进制
八进制转十六进制(反之倒推):八进制 -> 二进制 -> 十六进制
十进制转十六进制(反之倒推):十进制 -> 二进制 -> 十六进制(以二进制作为桥梁)
二进制转十六进制(反之倒推,不足四位的在左边添0补齐):
从右往左 每4位二进制转1位十六进制
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
2的0次方 = 1 2的1次方 = 2 2的2次方 = 4 2的3次方 = 8
2的4次方 = 16 2的5次方 = 32 2的6次方 = 64 2的7次方=128
2的8次方 = 256 2的9次方 = 512 2的10次方 = 1024 2的11次方 = 2048
例:将二进制整数(111010)转换为十进制数 (8421法则)
1 1 1 0 1 0
2的5次方 2的4次方 2的3次方 2的2次方
32 16 8 0 2 0
1*2的5次方+1*2的4次方+1*2的3次方+1*2的2次方=32+16+8+2=58
例:十进制250转二进制
250 = 255 - 5
8421法则 4 + 1 = 5 255的二进制为11111111
故十进制250的二进制为 11111010
练习:十进制200转二进制
法一: 200 = 255 - 55 55 - 32 - 16 = 7
55 = 32 + 16 + 4 + 2 + 1 这些为0
故二进制为11001000
法二:200比256小 ,200 - 128 = 72 72 - 64 = 8 8 - 8 = 0
128是2的7次方 64是2的6次方 8是2的3次方 这些为1
故二进制为11001000
2.1 《一般不会考的小数》
小数 从 -1 开始 -1 -2 -3 -4 ……
R的-m次方 = R的m次方分之一
十进制转二进制:小数部分乘2取整顺排序
小数的进制转换从小数点开始往右表示
3.原码、反码、补码
计算机只识别和处理二进制,而数据又分为有符号数据和无符号数据,有符号数据是指有正负之分的数据,如-10或+3,无符号数据是没有正负之分的,如ASCII字符(A、B、C……)。
原码,反码,补码是计算机存储有符号数据的编码方式。
在计算机中用一个数的最高位表示符号位,正数为0,负数为1。
0/1 0000001
符号位 数值位
8位二进制数 1位符号位,7位数值位
3.1.1原码、反码及补码的定义
正数 | 负数 | |
---|---|---|
原码 | 最高位添加符号位0 | 最高位添加符号位1 |
反码 | 与原码相同 | 保持其原码符号位不变,数值按位取反 |
补码 | 先保持其原码符号位不变,数值按位取反再加1 或先反再加1 |
+1 | -1 | 1+(-1) | +0/-0 | |
---|---|---|---|---|
原码 | 0 0000001 | 1 0000001 | 1 0000010 | +0(00000000) -0(10000000) |
反码 | 0 0000001 | 1 1111110 | 1 1111111 | +0(00000000) -0(11111111) |
补码 | 0 0000001 | 1 1111111 | 0 0000000 | 00000000 |
注:1.补码的符号位可以和数值位一起参加运算,结果不出错
2.补码的0表示唯一,另外移码的0表示也唯一
3.在计算机中均采用补码表示