基础之进制转换

进制转换

1.1`计算机的硬件基本认知

cpu: 中央处理器. 相当于人的大脑,运算中心,控制中心
内存: 临时存储数据. 优点: 读取速度快. 缺点: 容量小,断电即消失.
硬盘: 长期数据存储. 优点: 容量大,造价相对便宜,断电不消失, 缺点: 读取速度慢
操作系统: 统一管理计算机硬件资源的程序

1.2计算机文件大小单位

b = bit 位(比特)
B = Byte 字节

1Byte = 8 bit	#一个字节等于8位,可以简写成1B = 8b
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB
1EB = 1024PB

1.3进制转换

二进制:2个数字组成,0,1: 0b011
八进制:8个数字组成,1-7:0o137
十进制:10个数字组成,0-9:678
十六进制:16个数字组成,0-9和a-f(字母大小写都可以,分别代表10,11,12,13,14,15): 0xff   0xFF   0x8a

1.3.1二进制转换成十进制
#例: 0b10100101
运算:1* 2^0 + 0* 2^1 + 1* 2^2 + 0* 2^3 + 0* 2^4 + 1* 2^5 + 0* 2^6 + 1* 2^7=
		1  +0       +4       +0       +0       +32      +0       +128    =165  
1.3.2八进制转换成十进制
#例: 0o127
运算:7* 8^0 + 2* 8^1 + 1* 8^2 = 7 + 16 + 64 = 87
1.3.3十六进制转换成十进制
#例0xff
运算:15*16^0 + 15*16^1 = 255
1.3.4十进制转换成二进制
426 => 0b110101010
运算过程: 用426除以2,得出的结果再不停的除以2,直到除外最后的结果小于2停止,在把每个阶段求得的余数从下到上依次拼接完毕即可
1.3.5十进制转换成八进制
426 => 0o652
运算过程:426除以8,得出的结果再不停的除以8,直到除外最后的结果小于8停止,在把每个阶段求得的余数从下到上依次拼接完毕即可
1.3.6十进制转换成十六进制
426 => 1AA
运算过程:426除以16,得出的结果再不停的除以16,直到除外最后的结果小于16停止,在把每个阶段求得的余数从下到上依次拼接完毕即可
1.3.7二进制与八进制转换
二进制与八进制对应关系:
    八进制 二进制
    0		000
    1		001
    2		010
    3		011
    4		100
    5		101
    6		110
    7		111
:1010100101
八进制:从右向左 3位一隔 不够三位用0补位 变成:
0b 001 010 100 101
0o 1	2	4	5
1.3.8二进制与十六进制转换
十六进制	二进制
    0		0000
    1		0001
    2		0010
    3		0011
    4		0100
    5		0101
    6		0110
    7		0111
    8		1000
    9		1001
    a		1010
    b		1011
    c		1100
    d		1101
    e		1110
    f		1111
:1010100101
十六进制:从右向左 4位一隔 不够4位用0补位 变成:
0010 1010 0101
0x2a5
1.3.9八进制与十六进制转换
先转换成二进制再去对应转换
比如:0x2a5 转换成1011100101 再转8进制 eo1245

1.4原码 反码 补码

1.
原码: 二进制的表现形式
反码: 二进制码01,10叫做反码
补码: 二进制的存储形式
重点:原码补码之间的转换形式,首位符号位不取反
  
数据用补码形式存储
数据用原码形式展示
(补码用于存储,计算,原码用于显示)
原码和补码可以通过反码互相转化,互为取反加1
2.  
补码的提出用于表达一个数的正负(可以实现计算机的减法操作)
计算机默认只会做加法,实现减法用负号:7+(-5) => 7-5
乘法除法: 是通过左移和右移<< >> 来实现
3.
原码特点:第一位是1
    00000000 2 表达数字 正2
    10000000 2 表达数字 负2
    
补码特点:高位都是1    
    00000000 2 表达数字 正2
    11111111 2 表达数字 负2
4.
运算顺序:
    补码 -> 原码 -> 最后人们看到的数据
    进制转换时需要先把内存存储的补码拿出来变成原码再进行转换输出
    转换规律:
        如果是一个正数: 原码 = 反码 = 补码
        如果是一个负数: 原码与补码之间,互为取反加1
            		  原码 = 补码取反加1 给补码求原码
                	  补码 = 原码取反加1 给原码求补码
    例:
        8原码:000...0110
         反码:000...0110
         补码:000...0110
       -9原码:100...0111
         反码:111...1000
         补码:111...1001
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值