python3笔记二:进制转换与原码反码补码
一:学习内容
- 进制:二进制、八进制、十进制、十六进制
- 进制转换
- 原码、反码、补码
二:进制
二进制
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笔记二:进制转换与原码反码补码的更多相关文章
- 大数据学习--day02(标识符、变量、数据类型、类型转换、进制转换、原码反码补码)
标识符.变量.数据类型.类型转换.进制转换.原码反码补码 标识符: java50个关键字不能做标识符,以数字开头不能做标识符(这个老是忘记写一个类名的时候) 变量: 变量分为成员变量和局部变量,注意作 ...
- python之计算机硬件基本认知_数据单位_进制间转换_数的原码反码补码
一:计算机硬件基本认知 cpu: 中央处理器. 相当于人的大脑.运算中心,控制中心. 内存: 临时存储数据. 优点:读取速度快,缺点:容量小,造价高,断电即消失. 硬盘: 长期存储数据. ...
- 位移&二进制转换&原码&反码&补码
<< 左移 按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零. 格式 需要移位的数字 << 移位的次数 计算过程 1. 按二进制形式把所有的数字向左 ...
- C语言学习笔记之原码反码补码
原码:就是我们自己看的,以及机器输出给我们看的 补码:机器永远是以补码的形式将数据保存在计算机中 正数: 原码=反码=补码 负数: 反码:原码的符号位不变,其他位取反 ,1变0 0变1 补码:机器 ...
- 原码 & 反码 & 补码 & 详解
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...
- Java 原码 反码 补码
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...
- C语言原码反码补码与位运算.
目录: 一.机器数和真值 二.原码,反码和补码的基础概念 三.为什么要使用原码,反码和补码 四.原码,补码,反码再深入 五.数据溢出测试 六.位运算 ...
- 「C语言」原码反码补码与位运算
尽管能查到各种文献,亲自归纳出自己的体系还是更能加深对该知识的理解. 本篇文章便是在结合百度百科有关原码.反码.补码和位运算的介绍并深度借鉴了张子秋和Liquor相关文章后整理而出. 目录 ...
- JAVA:二进制(原码 反码 补码),位运算,移位运算,约瑟夫问题(5)
一.二进制,位运算,移位运算 1.二进制 对于原码, 反码, 补码而言, 需要注意以下几点: (1).Java中没有无符号数, 换言之, Java中的数都是有符号的; (2).二进制的最高位是符号位, ...
随机推荐
- 关于redis的几件小事(八)缓存与数据库双写时的数据一致性
1.Cache aside pattern 这是最经典的 缓存+数据库 读写模式,操作如下: ①读的时候,先读缓存,缓存没有就读数据库,然后将取出的数据放到缓存,同时返回请求响应. ②更新的时候,先删 ...
- Vue报错:Property or method "XXX" is not defined on the instance but referenced during render. Make sure that this property is reactive...
在Vue中定义方法或者属性时,因为粗心疏忽可以能会报该错误 [Vue warn]: Property or method "search" is not defined on th ...
- Go项目目录管理
在Go的官网文档How to Write Go Code中,已经介绍了Go的项目目录一般包含以下几个: src 包含项目的源代码文件: pkg 包含编译后生成的包/库文件: bin 包含编译后生成的可 ...
- 问题:tomcat启动后,可以访问主页面,但是无法访问dubbo-admin
原因分析: 直接查看logs中的日志文件,发现一行 [Catalina-utility-1] org.apache.catalina.startup.HostConfig.undeploy Undep ...
- git ignore 如何忽略已经提交的文件修改
git ignore git ignore的作用很简单,本地仓库忽略一些文件的修改. ignore的规格可以按文件匹配,按后缀匹配或者按文件夹匹配. 如果在项目开发过程中,需要忽略某一个文件已经提交的 ...
- cassandra查询效率探讨
cassandra目前提倡的建表与查询方式为CQL方式,传统的cassandra-cli相关的api由于性能问题将逐步淘汰,而cassandra-cli也将在2.2版本之后被淘汰. 在CQL中,可以利 ...
- Delphi 程序调试
- PIL:处理图像的好模块
介绍 PIL是一个专门用来处理图像的模块,可以对图象进行各种各样的变换 打开一张图片 from PIL import Image # 调用Image下的open方法,即可打开一张图片 # 得到的im便 ...
- linux 查看cpu核心数
1.查看CPU个数 cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l 2.查看每个物理CPU含有的核心个数 cat /pr ...
- fiddler获取响应时间以及服务器IP
抓包工具fiddler实现http协议请求应答抓包.在接口测试.性能测试.安全测试等软件测试活动过程中,可能会遇到需要获取接口响应时间.接口服务器IP这样的情况.默认情况下fiddler不支持接口响应 ...