进制转化

一.任何一个进制转化为10进制的方式

156的十进制可以看做1*10^2 + 5*10^1  +   6*10^0

首先我们看一下156 ,平方,次方等等都是根据后面有多少位决定的,如果用计算机计算,则正好是156

33是一个八进制可以看做3*8^1+3*8^0 次方  换算出来就是10进制

如果你本身是x进制,那么你的数字就看做  num * x^位数  比如我有一个16进制的数字,转为10进制

16进制在计算机中表示方法: 1 2 3 4 5 6 7 8 9 a b c d e f

a代表10  b.. c.. 依次增加

C8  如果转化为十进制则是  C * 16 ^1 + 8 * 16 ^0 则把C变为12去做

12 * 16 ^1 + 8 * 16 ^0 =  192 + 8 = 200 十进制的200 (任何数的0次方都是1)

二.十进制 转化为 n进制

既然一个n进制可以任意转化为10进制,则10进制则可以任意转化为n进制

思路:

  10进制转n进制就是不断÷这个数的进制数

例如:

  10进制的17 转化为16 进制  17 / 16 = 1 ...1 结果是1,余1,然后加起来 就是11

  23(10进制) 转化为八进制 23 / 8 = 2 ...7 结果就是27

三.16进制转化为2进制,以及2进制转化为16进制

这个比较简单了,只需要记住,4个二进制为对应一个16进制的一位

比如 1100 对应的16进制就是C

0000  代表0

0001  代表1

0010  代表2

0011  代表3

0100  代表4

0101  代表5

0110  代表6

0111  代表7

1000  代表8

1001  代表9

1010  代表a

1011  代表b

1100  代表c

1101  代表d

1110  代表e

1111  代表f

给你一个16进制数,把它变为二进制,则可以对应上面的表拆分

比如A32

拆分为 A 3 2 对应的二进制

A : 1010

3:   0011

2:   0010

二进制转为16进制

这个需要注意一下,要把16进制的数字从右边向左边区分(4各一组)

1000110010

区分:

    0010 0011 0010 前边因为10就剩2个了,所以不足4位,需要补零

对应16进制的表去对拼即可: 结果为 232(16进制的) (转化为10进制则用第一种方式,任何进制转化为10进制)

四.八进制转化为2进制,二进制转化为8进制

八进制和第三种16进制转化为二进制和2进制互转类似,只不过都是3个一组了(16进制和2进制是4个一组)

表:

  000     0

  001     1

010     2

  011     3

  100     4

  101     5

  110     6

  111     7

随便一个八进制转为二进制:  33 (一个差分为3个)

3: 011

3: 011

最终结果: 011011 如果满足4为一组,则前边补零,变为0001 1011

五.计算机中的加法(带进位的或运算)

C语言代码实现:

 1 #include<stdio.h>
 2 Int add(int a,int b)
 3 {
 4     Do
 5     {
 6          Int wei = a^b;
 7         Int jinwei = (a&b)<<1;
 8         A = wei;
 9         B = jinweil;
10     }while(b!=0)
11     Return a;
12 }
13 Int main()
14 {
15     Printf(“a + b = %d”,add(3,4));
16 }        

最终的输出结果为7

一步一步的推算

首先把3和4分别给函数add为参数

然后循环判断

A^b(3^4)二进制位011 100 亦或是相同为0不同为真

011

^

100

111 结果是7

赋值给wei

但是因为是加法,所以还要考虑进位的问题

所以

(3&4 )<<1 算是他的进位然后左移一位

011

& 他的运算符特点是一方为假则全部为假

100

000    最终他的进位是0

最后再把最终的结果赋值给a

进位赋值给b

如果b这个保存进位的结果不是0的话,那么就继续循环,一直到进位不为0的时候才返回结果a

六、减法原理

减法运算的话就是求补运算

A-b可以换算为加法

A+(100h-b)-100h

其实就是求b的补集

任何一个数加上b的反码其常量值都是1

按照自己的理解的话

A+(100-b)-100

a代入数字为3

b代入数字为4

那么a+(100-4)-100

则结果为3+96-100 = -1 这样转化为加法就实现了减法

他的设计就是进位丢失

假设是101 那么如果第一个1丢失了,那么就是丢弃了100

乘法问题

二进制x2的n次方就往左边<<多少位

按照自己的理解假设是10*5

那么10的二进制是1010

5的二进制是0101

1010 大于0101

那么就是左移一位<1 变成5了.

如果有错误,欢迎批评指正: 联系方式Q:2510908331

转载于:https://www.cnblogs.com/iBinary/p/7341841.html

计算机基础知识_进制转化相关推荐

  1. 计算机基础 进制转化,计算机基础知识_进制转化(示例代码)

    进制转化 一.任何一个进制转化为10进制的方式 156的十进制可以看做1*10^2 + 5*10^1  +   6*10^0 首先我们看一下156 ,平方,次方等等都是根据后面有多少位决定的,如果用计 ...

  2. 计算机基础知识系列·进制转换的简易方法

    本篇文章仅针对小白(刚刚学习计算机应用基础,计算机原理的小白),文章内容比较简单. 一.十进制数转换成二进制数. [例子1](1)十进制数字78转换二进制:(2)十进制数字374转换二进制. 答案:( ...

  3. 计算机基础知识关于进制,计算机基础知识-- 进制和编码

    1.二进制 二进制是计算技术中广泛采用的一种数制.二进制数据是用0和1两个数码来表示的数.它的基数为2,进位规则是"逢二进一",借位规则是"借一当二",由18世 ...

  4. 如何证明e进制计算机最快,第一讲:计算机基础知识回顾--(进制与编码2)

    (一)定点数(Fixed-Point Number) 计算机处理的数据不仅有符号,而且大量的数据带有小数,小数点不占有二进制一位而是隐含在机器数里某个固定位置上.通常采取两种简单的约定:一种是约定所有 ...

  5. 计算机基础知识试卷并附答案,计算机基础知识_试卷及答案.doc

    计算机基础知识_试卷及答案 ※解题指导 1.与十进制数22等值的二进制数是 A . A.10110 B.01110 C.11010 D.10111 分析:十进制数转化为r进制数的方法是:整数部分:除r ...

  6. 目前中小学广泛使用计算机,最新版计算机基础知识_试题

    最新版计算机基础知识_试题 1.信息处理的六个基本环节除了采集.传输.加工外,还有: ( A ) A.存储.输入.输出 B.存储.输入.打印 C.存储.运算.输出 D.输入.运算.输出 2.当今的信息 ...

  7. 计算机组成原理——基本组成 进制转化 奇偶校验 原码 反码 补码 移码 移位 原码补码乘法除法 IEEE754 加法器ALU

    笔记来源于王道考研视频 第一章 通过电信号传递信息(低电平代表0,高电平代表1) 计算机系统 计算机系统=硬件+软件 软件 系统软件 应用软件 操作系统,数据库管理系统(DBMS),标准程序库(编程时 ...

  8. 计算机基础知识_计算机基础知识汇总

    计算机专业的那六大件:组成原理,操作系统,数据库,编译原理,计算机网络,数据结构, 其次还得加上分布式的基础知识, 因为现在的系统都变成分布式的了.如果你是做应用层开发的,那几门课程中的有些内容和日常 ...

  9. 【基础知识】~ 进制转换、补码、格雷码、BCD码、独热码

    1. 进制转换 1.1 十进制 to 二进制 正整数转二进制:除二取余,然后倒序排列,高位补零. 负整数转二进制:先是将对应的正整数转换成二进制后,对二进制取反,然后对结果再加一. 小数转二进制:对小 ...

  10. java中计算机基础知识_整理一些计算机基础知识!

    为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了"开放系统互联参考模型",即著名的OSI/RM模型(Ope ...

最新文章

  1. NYOJ 558 一二三
  2. IOS开发调用系统相机和打开闪光灯
  3. 使用Excel消费SAP C4C的OData service
  4. CentOS中通过NAT连接网络
  5. Python网络爬虫使用代理proxy
  6. pcb文件转成原理图_电路仿真与PCB设计 | 文末赠书
  7. 《我的祖国》正确英译应该是《The Evercountry, Mine》
  8. 什么是starup?
  9. ua获取手机型号_JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)...
  10. Python 汇率换算
  11. html制作备案表格代码,如何在首页中插入备案编号HTML代码
  12. clock()、time()、clock_gettime()和gettimeofday()函数的用法和区别【转】
  13. 飞桨领航团AI达人创造营第一课2021.7.26
  14. CSS3 深海游弋的鱼群
  15. R语言主成分回归(PCR)、 多元线性回归特征降维分析光谱数据和汽车油耗、性能数据...
  16. 三星集团继承人李在镕将接受韩国检方质询
  17. ubuntu解决微信无法输入中文
  18. 终于弄懂了origin批量制图
  19. 日文输入常见问题解决
  20. 【腾讯鲜为人知的重武器4】秘密武器“数据挖掘”

热门文章

  1. php基础之时间函数(date(), time(), microtime())
  2. BigInteger简单使用及方法总结
  3. Error creating bean with name 'rocketMQTemplate' defined in class path resource
  4. ubuntu 20 /CentOS 8.x/MAC 系统 中安装GO LANG(GO语言)
  5. Eureka-Client 注册服务到 Eureka-Server
  6. 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_18-页面查询接口定义-定义接口...
  7. 阶段3 1.Mybatis_10.JNDI扩展知识_2 补充-JNDI搭建maven的war工程
  8. ZOJ3953 Intervals
  9. 批量给hive的表加分区
  10. WEB建站规划之建站目的