第二讲:二进制、位与字节 - 草稿 - 草稿

简介

二进制是使用 0 和 1 表示的数,相对于10进制以10为基数,逢10进1,借1当10,二进制则以2为基数,逢2进1,借1当2,在计算机中使用的都是二进制,在计算机内部使用开关来存储数据,开表示1,关表示0,每一个数字称为一位 或一比特(bit, binary digit),位是计算机硬件操作数据的基本单位,8位二进制是一个字节 (Byte),字节是计算操作系统操作的基本单位

运算

加法,逢2进1
0 + 0 = 0
1 + 0 = 1
1 + 1 = 10

减法,借1当2
0 - 0 = 0
1 - 0 = 1
1 - 1 = 0
0 - 1 = 1

乘法,与十进制一样
0 * 0 = 0
1 * 0 = 0
1 * 1 = 1

除法,与十进制一样
0 / 1 = 0
1 / 1 = 1

进制转换

二进制转10进制

方法:“按权展开求和”
位权:某进制计数制中各位数字符号所表示的数值表示该数字符号值乘以一个与数字符号有关的常数,该常数称为 “位权 ”
例:
1110 = 1*2^3 + 1*2^2 + 1*2^1 + 0*2^0 = 8 + 0 + 2 + 0 = 14
10110110 = 1*2^7 + 0*2^6 + 1*2^5 + 1*2^4 + 0*2^3 + 1*2^2 +1*2^1 + 0*2^0 = 128 + 0 + 32 + 16 + 0 + 4 + 2 + 0 = 182

10进制转二进制

方法:“除以2取余,逆序排列”
例:14
14/2 = 7?0 等7余0
7/2 = 3?1 等3余1
3/2 = 1?1 等1余1
1 余下的1
逆序排列 1110

二进制转16进制

方法:二进制数转换成十六进制数时,只要从小数点位置开始,向左或向右每四位二进制划分一组(不足四位数可补0),然后写出每一组二进制数所对应的十六进制数码

十六进制数字与二进制数字的对应关系如下:

二进制 16进制 二进制 16进制
0000 -> 0 0100 -> 4 1000 -> 8 1100 -> C
0001 -> 1 0101 -> 5 1001 -> 9 1101 -> D
0010 -> 2 0110 -> 6 1010 -> A 1110 -> E
0011 -> 3 0111 -> 7 1011 -> B 1111 -> F

这个转换表可以先把二进制转为10进制,再把10进制转为16进制计算得到
例:
1111 = 1*2^3 + 1*2^2 + 1*2^1 + 1 *2^0 = 8 + 4 + 2 + 1 = 15, 十进制15对应16进制 F

二进制在计算机内的存储

数据在计算机底层是以二进制来存储的。而且就是按照数据的补码来存储的。(数据分为:原码、反码、补码)

对于正数来讲:原码、反码、补码都是相同的。对于负数来讲:其补码可以看做是其相反数的各个位去反后,再+1得到

最高位表示正负 0 表示 正数,1表示负数,后面的具体数

使用补码存储的原因在于运算的时候可以把符号当成数值来处理,减法可以按加法来处理,CPU 内部基础的运算是加法,统一成一种运行硬件设计起来简单

参考文献:

二进制-百度百科
补码-IsITMan

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容