一:学习内容

  • 进制:二进制、八进制、十进制、十六进制
  • 进制转换
  • 原码、反码、补码

二:进制

  • 二进制

1.二进制:只有0和1,逢2进1

2.举例:0+0=0、0+1=1、1+1=10

3.过程剖析:二进制11+1=100

1+1=0进1,1+1=0进1,故为100

  • 八进制

1.八进制:0到7,逢8进1

2.举例:1+7=10、1+2=3

  • 十进制

1.十进制:0到9,逢10进1

  • 十六进制

1.说明:0 1 2 3 4 5 6 7 8 9 a b c d e f,逢16进1,a相当于十进制的10,b相当于十进制的11

2.举例:1+f=10,即1+15=16,逢16进1,即10

  • 进制转换

1.十进制转二进制:倒除法,余数逆序

10(10)--->1010(2)

2.二进制转十进制:当前的数字,乘以2的位数次方,最后相加,位数从0开始算

1010(2)--->10(10)
1010=0*2^0+1*2^1+0*2^2+1*2^3=2+8=10

3.二进制转八进制:三位一取:从低位开始取,高位不够补0

110101(2)--->65(8)
110为6,因为0*2^0+1*2^1+1*2^2=6
101为5,因为1*2^0+0*2^1+1*2^2=5

4.二进制转十六进制:四位一取:从低位开始取,高位不够补0

10100100(2)--->a4(16)
1010为10即a,因为0*2^0+1*2^1+0*2^2+1*2^3=10
0100为4即4,因为0*2^0+0*2^1+1*2^2+0*2^3=4

5.八进制转二进制:一转三位:八进制的一位相当于二进制的三位,转换时按照十进制转换

65(8)----->110101(2)
6为110,因为0*2^0+1*2^1+1*2^2=6
5为101,因为1*2^0+0*2^1+1*2^2=5

6.十六进制转二进制:一转四位:十六进制的一位相当于二进制的四位,转换时按照十进制转换

a4(16)---->10100100(2)
a为10即1010,因为0*2^0+1*2^1+0*2^2+1*2^3=10
4为0100,因为0*2^0+0*2^1+1*2^2+0*2^3=4

三:原码、反码、补码

1.原码:规定了字节数,写明了符号位,就得到了数据的原码

2.反码:正数的反码是其原码,负数的反码是其原码的符号位不动,其他位取反即0变成1,1变成0

3.补码:正数的补码是其原码,负数的补码是其反码的最低位加1

4.举例

1的原码、反码、补码:

原码:00000000  00000000  00000000  00000001
反码:00000000  00000000  00000000  00000001
补码:00000000  00000000  00000000  00000001

-1的原码、反码、补码:

原码:10000000  00000000  00000000 00000001
反码:11111111    11111111    11111111   11111110
补码:11111111    11111111    11111111   11111111

故1+(-1)的结果为:

1的补码:00000000  00000000  00000000  00000001
-1的补码: 11111111    11111111    11111111     11111111
-1+1补码结果:00000000  00000000  00000000  00000000
该补码的原码为0,即为0

5.说明:

补码最高位为正数时原码即为补码,补码最高位为负数时则符号位不变其他位取反然后最低位加1得原码

计算机中存储和计算都是用补码进行的,但是输出来给我们看是要将补码算成原码给我们看的

python3笔记二:进制转换与原码反码补码的更多相关文章

  1. 大数据学习--day02(标识符、变量、数据类型、类型转换、进制转换、原码反码补码)

    标识符.变量.数据类型.类型转换.进制转换.原码反码补码 标识符: java50个关键字不能做标识符,以数字开头不能做标识符(这个老是忘记写一个类名的时候) 变量: 变量分为成员变量和局部变量,注意作 ...

  2. python之计算机硬件基本认知_数据单位_进制间转换_数的原码反码补码

    一:计算机硬件基本认知 cpu:   中央处理器.   相当于人的大脑.运算中心,控制中心. 内存:  临时存储数据. 优点:读取速度快,缺点:容量小,造价高,断电即消失. 硬盘:  长期存储数据. ...

  3. 位移&二进制转换&原码&反码&补码

    << 左移 按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零. 格式 需要移位的数字 << 移位的次数 计算过程 1. 按二进制形式把所有的数字向左 ...

  4. C语言学习笔记之原码反码补码

    原码:就是我们自己看的,以及机器输出给我们看的 补码:机器永远是以补码的形式将数据保存在计算机中 正数: 原码=反码=补码 负数: 反码:原码的符号位不变,其他位取反 ,1变0   0变1 补码:机器 ...

  5. 原码 & 反码 & 补码 & 详解

    本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...

  6. Java 原码 反码 补码

    本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...

  7. C语言原码反码补码与位运算.

      目录:     一.机器数和真值     二.原码,反码和补码的基础概念     三.为什么要使用原码,反码和补码     四.原码,补码,反码再深入     五.数据溢出测试     六.位运算 ...

  8. 「C语言」原码反码补码与位运算

    尽管能查到各种文献,亲自归纳出自己的体系还是更能加深对该知识的理解.     本篇文章便是在结合百度百科有关原码.反码.补码和位运算的介绍并深度借鉴了张子秋和Liquor相关文章后整理而出.   目录 ...

  9. JAVA:二进制(原码 反码 补码),位运算,移位运算,约瑟夫问题(5)

    一.二进制,位运算,移位运算 1.二进制 对于原码, 反码, 补码而言, 需要注意以下几点: (1).Java中没有无符号数, 换言之, Java中的数都是有符号的; (2).二进制的最高位是符号位, ...

随机推荐

  1. oracle 安装后参数调整

    关闭11g 新特性 开归档 oracle 11g安装完成需修改:1.关闭审计alter system set audit_trail=none scope=spfile sid='*'; 防止ORA- ...

  2. pytorch中的torch.repeat()函数与numpy.tile()

    repeat(*sizes) → Tensor Repeats this tensor along the specified dimensions. Unlike expand(), this fu ...

  3. 099、如何访问Service (Swarm06)

    参考https://www.cnblogs.com/CloudMan6/p/7909136.html   前面已经学习了如何部署Service吗,也验证了swarm的failover特性,下面我们要学 ...

  4. MySQL主从延时这么长,要怎么优化?

    MySQL主从复制,读写分离是互联网常见的数据库架构,该架构最令人诟病的地方就是,在数据量较大并发量较大的场景下,主从延时会比较严重. 为什么主从延时这么大? 答:MySQL使用单线程重放RelayL ...

  5. MySQL--高性能MySQL笔记二

    人们通常使用varchar(15):来存储IP地址,然而它们其实是32位无符号整数,不是字符串,所以应该使用无符号整数存储IP地址,MySQL 提供 INET_ATON() 和 INET_NTOA() ...

  6. WPF:元素绑定

    到目前为止都在讨论如何链接两个元素的绑定.但在数据驱动的应用程序中,更常见的情况是创建从不可见的对象中提取数据绑定表达式.唯一的要求是希望显示的信息必须存储在公有的属性中.WPF数据绑定基础结构不能获 ...

  7. 什么是DDoS攻击?

    本文转载自知道创宇云安全的知乎回答:DDoS 的肉鸡都是哪来的? 说到DDoS攻击,我们就不得不说“肉鸡”. “肉鸡”可谓是DDoS攻击的核心大杀器,作为一个要发起DDoS攻击的黑客来说,没有肉鸡就是 ...

  8. python-webdriver中添加cookie,解决添加了图片验证码的问题

    遇到问题:之前一直能用的脚本突然跑不通了,仔细一看原来是研发新加了图片验证码...... 解决问题: 手动抓取了cookie并塞进去,解决问题.当然如果你的cookie有效期太短或者是随着会话关闭就失 ...

  9. 无Xwindow的linux系统安装VMware Tools

    首先登陆linux 系统,最好是root用户: 然后挂载cdrom: mkdir -p /mnt/cdrom mount -t iso9660 /dev/cdrom /mnt/cdrom 进入cdro ...

  10. 测开常见面试题什么是redis

    企业中redis是必备的性能优化中间件,也是常见面试题,首先Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库.Redis全称为:Rem ...