一. 进制转换

1.其他进制到十进制的转换

比如:
十进制 十进制
123=100+20+3
=1* 10^2 + 2 *10^1 +3 * 10^0
=100+20+3
=123
八进制 十进制
123=1 *8^2+2 *8^1+3 *8^0
=64+16+3
=83
这里借用一位老师自己总结的方法:
系数:每一个位上的数据值本身就是系数
基数:x进制的基数就是x
权:针对每一个位上的数据进行编号,从右边,并且是从0开始编号,这个编号就是该位上的权值
结果=每一个位上的系数+基数^权次幂相加

2. 十进制转换为其他进制

除基取余,直到商为0,余数反转。
练习:
十进制 二进制
20/2=10……0
10/2=5……0
5/2=2……1
2/2=1……0
1/2=0……1
所以二进制为(0b)10100
那么有同学会问,如果x进制到y进制怎么转化呢?
回答:这里我们可以用十进制作为中间桥梁,再采用上述方法进行换算。
下面举个例子:
换算二进制到八进制
思路:(1)二进制到十进制,十进制到八进制
(2)拆分组合法
答:第一种方法:0b1011001=64+16+8+1=89
89/8=11……1
11/8=1……3
1/8=0……1
所以89=0131
第二种方法:三个一组,不够补0,换算成十进制

001 011 001
1 3 1
/*不同进制数据表现二进制:由0,1组成,以0b开头;八进制:由0,1……7组成,以0开头十进制:由0,1……9组成,默认十进制十六进制:由0,1……9,a,b,c,d,e,f(大小写均可)组成,以0x开头*/
public class One {public static void main(String[] args) {System.out.println(100);//十进制System.out.println(0b100);//二进制}
}

二.原码,补码和反码

比如+7和-7
7的二进制 111
原码:最高位为符号位,0表示正数,1表示负数,其他的为数值位

符号位 数值位
+7 0 0000111
-7 1 0000111
反码 正数的反码与原码相同,负数的反码与原码符号位不变,数值位取反,即0变1,1变0
符号位 数值位
+7 0 0000111
-7 1 1111000
补码:正数的补码与原码相同,负数的补码是在反码的基础上加1
符号位 数值位
+7 0 0000111
-7 1 1111011
已知补码求原码:先减1求出反码,再用反码求出原码。
小数进制如何转换呢?

比如:17.625
首先要把17.625换算成二进制,10001.101
整数部分,除以2,直到商为0,余数反转
小数部分:乘以2,直到乘位0,进位顺序取
解释一下,就是用2乘以小数部分,得到的结果取出整数部分,再用剩下的小数点后面的数字继续乘2,如此循环,直到小数点后面出现0为止。
0.6252=1.25 …… 取整数部分1
0.250
2=0.5 …… 取整数部分0
0.5*2=1.0……取整数部分1,小数点后面为0,所以不用继续。
所以17.625的二进制为:10001.101

进制转换,原码补码反码--学习笔记--03相关推荐

  1. 进制转换 原码、反码、补码

    进制转换: 为什么要使用二进制.八进制.十六进制: 因为现在的CPU只能识别高低两种电流,只能对二进制数据进行计算 二进制数据虽然能够直接被CPU识别计算,但是不方便书写.记录,把二进制转换成八进制是 ...

  2. Python_0b、0o、0x进制转换/原码、反码、补码

    一.进制转换 1.二进制0b.八进制0o和十六进制0x转换为十进制的方法: 设目标数字为n,相关进制为x,将数字n从右向左分解,分别乘以x的零次方.一次方等并相加. 2.十进制转换为二进制0b.八进制 ...

  3. 计算机进制、原码、反码、补码、移码相关知识

    计算机进制.原码.反码.补码相关知识 一:计算机中的数制 二:数制之间的转换 三:无符号数.有符号数 四:二进制原码.反码.补码.移码(增码) 4.1 原码 4.2 反码 4.3 补码 4.4 移码( ...

  4. C语言 枚举,进制,原码,反码,补码,移码,结构体

    该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/104294089 枚 ...

  5. 原码 补码 反码 移码

    目录 原码 反码 补码 移码 转换 原码 补码 反码 原码 0和1组成 正负用0和1表示(添加在最前面) 真值转原码 转化符号位 数值位十进制转二进制 对于十进制数 233(正数) 正数->符号 ...

  6. java进制原码_Java 一一 进制、原码 反码 补码、移位操作

    进制 二进制 和 十进制 相互转换 十进制 和 十六进制 相互转换 原码,反码,补码 原码.反码.补码: 在计算机内, 有符号数有三种表示法: 原码, 反码, 补码. 所有的数据的运算都是采用 补码 ...

  7. python学习-综合练习三(斐波那契数列、阿姆斯特朗数、//和/、十进制转二进制bin、八进制oct、十六进制hex、进制转换源码、python中::和:的区别)

    文章目录 斐波那契数列 阿姆斯特朗数 十进制转二进制bin.八进制oct.十六进制hex 补充进制转换源码 python中::和:的区别 说明:本篇博文的知识点大部分来自 Python3 实例 斐波那 ...

  8. 原码 补码 反码的转换

    正数 : 原码 补码 反码都相同 机器数:+1001010 原码:01001010 (符号位 正数为0) 补码:01001010 (补码与原码相同) 反码:01001010 (反码与原码相同) 负数 ...

  9. java反码补码原码作用_java原码补码反码关系解析

    本文为大家解析了java原码补码反码的关系,供大家参考,具体内容如下 原码:不管源数据是十进制还是十六进制,统统将数字转成二进制形式 反码:把原码的二进制统统反过来,0变成1,1变成0 补码:负数的反 ...

最新文章

  1. DeepMind提出基于视觉的强化学习模型,十八般兵器对机器人不在话下
  2. 【协议分析】Wireshark 过滤表达式实例
  3. 如何在python中显示电脑中的图片-python如何在终端里面显示一张图片
  4. PCB板查短路点的一种技巧 (转载)
  5. RxJava2学习笔记(3)
  6. Leetcode每日必刷题库第4题,如何寻找两个正序数组的中位数?
  7. 如何由jdk的安装版本改成非安装版本
  8. Python3字符串切片操作代码示例
  9. 正则表达式元字符整理
  10. 什么是TypeScript的字符串索引签名
  11. Θ(n)反转单链表(算法导论第三版第十章10.2-7)
  12. PHPCMS V9 按浏览次数排行调用文章
  13. 对不起,我把APP也给爬了
  14. 日常问题——VMware下的CentOS7 Ping不通百度
  15. 乐视网被列入经营异常名录 因登记经营场所无法联系
  16. 贺利坚老师汇编课程35笔记:[BX+SI]和[BX+DI]寻址
  17. java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
  18. myeclipse使用步骤总结
  19. LaTeX入门学习(6)(字体)
  20. 如果软件测试是门艺术,软件测试工程师就是艺术家 -- 浅析ZStack是如何做智能软件测试

热门文章

  1. 超能英雄 ( Heroes)
  2. 【历史上的今天】2 月 24 日:乔布斯出生;苹果推出 Thunderbolt 接口;WhatsApp 创始人诞生
  3. mysql sde_sde用sql实现erase_MySQL
  4. chosen.jquery.js 、chosen-select 源码修改控制 chosen:updated 方法动态更新下拉框选项不更新搜索框值 ,chosen 实现远程搜索加载下拉选项
  5. 打印2015年的月历
  6. linux shell 判断目录不存在,检查shell脚本中是否存在目录
  7. 关于软件和软件工程师
  8. 基于485总线的评分系统
  9. 深度学习中的经典基础网络结构(backbone)总结
  10. 机票预订系统活动图_机票预订系统(概要设计说明书)