3分钟快速掌握:进制转换与二进制计算基础
3分钟快速掌握:进制转换与二进制计算基础
本文将带你快速掌握计算机中的进制转换、二进制计算以及原码、反码、补码的概念。无论你是计算机科学的初学者还是想要巩固基础知识的专业人士,这篇文章都将为你提供清晰、详细的讲解。
1、计算机中的进制
1.1 进制的三要素
进制 | 数码 | 基数 | 位权 |
---|---|---|---|
十进制 | 0 1 2 3 4 5 6 7 8 9 | 10 | ......10^2 10^1 10^0 10^-1 10^-2 10^-3...... |
二进制 | 0 1 | 2 | ......2^2 2^1 2^0 2^-1 2^-2 2^-3...... |
八进制 | 0 1 2 3 4 5 6 7 | 8 | ......8^2 8^1 8^0 8^-1 8^-2 8^-3...... |
十六进制 | 0 1 2 3 4 5 6 7 8 9 a b c d e f | 16 | ......16^2 16^1 16^0 16^-1 16^-2 16^-3...... |
1.2 不同进制数据的表示
十进制:无需任何修饰,默认是10进制 例如:100
二进制:在数字前面加修饰符0b 例如:0b100
八进制:在数字前面加修饰符0 例如:0100
十六进制:在数字前面加0x修饰 例如:0x100
1.3 不同进制数据之间转化
1. N 进制转十进制
方法:位权展开相加法
例如 :1010 转为 十进制为 10
2. 十进制转N进制
除N取余,将余数逆序排列
3. M进制转N进制
① 二进制与八进制转换
(从右向左,高位补0)二进制 转 八进制 三合一
八进制 转 二进制 一拆三
例如:
0b110110110 = 0b110 110 110 = 0o666 (2^2+2^1 =4+2=6)
0o567 = 0b101 110 111 (5=2^2+2^0 6=……)
② 二进制与十六进制转换
(从右向左,高位补0)二进制 转 十六进制 四合一
十六进制 转 二进制 一拆四
例如:
0b110110110= 0x1b6
0xabc = 0b1010 1011 1100
③八进制转十六进制
先将8进制 转换为 2进制 再转换为 16进制
2. 二进制的原码 反码 补码
数据在存储的时候,有正数也有负数,就涉及到原码、反码、补码,
计算机中的数据计算都是以【补码】形式参与的。
原码:给人看的,直接转换得到的
反码:用来做原码与补码之间转换的中间者
补码:给计算机看的
正数:原码 = 反码 = 补码 = 自身二进制
负数:
原码:最高位代表符号位【0正1负】,其他位是自身二进制
反码:最高位代表符号位【0正1负】,其他位对原码按位取反【0变1 1变0】
补码:最高位代表符号位【0正1负】,其他位对反码加1
3.计算机中二进制的计算
1> 计算规则
加法:逢二进一
减法:借一当二
1. 题目描述: 写出下面数值的原码、反码、补码(要求采用16位来表示)
1) -127的原码 1000 0000 0111 1111
2) -127的反码 1111 1111 1000 0000
3) -127的补码 1111 1111 1000 0001
2. 按照计算机的加法器,计算3-5,演示过程
题目分析,按照计算机加法器算,所以先将3-5转换成3 + (-5)
又因为计算机中数值计算都是以【补码】形式参与的,所以计算3和-5的补码
如下所示:【以8位二进制为例】
3 0000 0011 =》 0000 0011 =》 0000 0011
-5 1000 0101 =》 1111 1010 =》 1111 1011
补码相加,进行计算
0000 0011 【补码】
+ 1111 1011 【补码】
——————————————
1111 1110 【补码】
1111 1101 【反码】
1000 0010 【原码】 -2