当前位置: 首页 > news >正文

3-数据之间的进制转换

1.数据进制之间的转换

           任何送⼊计算机的数字,字⺟,符号等信息必须转换成 0、1 组合的数据形式才能被计算机识别。

          能够进⾏算术运算得到明确数值概念的信息成为计算机数值数据,其余的信息成为⾮数值数据。为了⽅便数据存储,我们把数据按照使⽤习惯以进制的⽅式来进⾏划分。

         我们把进制也叫做进制位,是⼈们规定的⼀种进位⽅式。我们可以使⽤有限的数字符号来代表所有的数值。可使⽤数字符号的数⽬,我们称为为基数。基数为 n,则为 n 进制。数制中某⼀位上的 1 所表示 数值的⼤⼩我们称为位权。

          例如:

         ⼗进制数 123 ,基数为 10. 我们可以只⽤ 0~9 这是个数组符号。

          3----------> 位权为 1( 即 10 的 0 次⽅ )

          2----------> 位权为 10( 即 10 的 1 次⽅ )

          1----------> 位权为 100( 即 10 的⼆次⽅ ) 123 = 1 * 10 的 2 次⽅ + 2 * 10 的 1 次⽅ + 3 * 10 的 0 次⽅

          10进制:可⽤的数字符号: 0-9   基数:10    特点:逢⼗进⼀

 例如:  110 −10 = 100

              110−10=100

              200 +100 = 300

              200+100=300 计算机中⽤我们的⼆进制来表示我们的数据。

         

         2进制:可使⽤的数字符号:0,1      基数:2        特点:逢⼆进⼀

 例如:(1010)2 − (0101)2 = (101)2

              (1010)2 −(0101)2 =(101)2

        8进制:可使⽤的数字符号:0,1,2,3,4,5,6,7   基数:8      特点:逢⼋进⼀

  例如:(713)8 + 114)8 = (1027)8

              (713)8 +(114)8 =(1027)8 

             (713)8 − (114)8 = (577)8

               (713)8 −(114)8 =(577)8

      16进制:可使⽤的数字符号:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f    基数:16     特点:逢⼗六进⼀

   例如:

       

2. ⽅法:

        将相应进制的数按位权展开成多项式,求⼗进制的和。

       常规⽤法:

       除基取余法:⽤我们的⼗进制数去除以我们⽬标的基数,第⼀次相除所得余数为⽬的数的最低位, 将 所得商再除以基数,反复执⾏上述过程,直到商为 “0”,所得余数为⽬的数的最⾼位。

        例如:  

       乘基取整法:⽤⼩数乘以⽬标数值的基数,第⼀次相乘结果的整数部分为⽬的数的最⾼位, 将其⼩数部分再乘基数依次记下整数部分,反复进⾏下去,直到⼩数部分为 “0”,或满⾜要求的精度为⽌。

⾼效⽤法:

        8421 码是⼀种编码⽅式,⼜为 8421BCD 编码,是⼀种⽤ 4 位⼆进制码的组合代表 1 位⼗进制数的编 码 ⽅法。因为是 4 位⼆进制,转换为⼗进制,每位的权分别为:2323,2222,2121,2020, 也就是 8,4,2,1 ,因⽽得名。

        ⼆进制转换为⼗进制:

⼗进制转换为⼆进制:

使⽤⽅法:

       把⼀个⼗进制数拆分位上述右边的数值相加 然后把⼆进位从⾼到列排列。

       若是⽤到了对应的数值,⼆进制位设置为 1,否则设置为 0

      书写完毕后,对应的⼆进制位排列就是该⼗进制转换为⼆进制的值。

3.原码反码补码

1. 原码、反码、补码的存储

注: 下⾯的讲解只涉及到基本规则使⽤,没有设计到具体数据类型。待学习后⾯数据类型后,会进⾏

     我们刚刚给上⾯计算的数都是我们的正数。对我们⼈常常来说使⽤的⼗进制,⽽⼀个⼗进制数是有正负 之分的,那么如何在计算机中如何表示我们的正号和负号呢?这个就涉及到了,我们计算机的编码形 式,在计算机中,⽤我们的原码、反码、补码来表示数据。在内存中的数据使⽤补码来存储。

     A. 数据就在内存中总是以⼆进制补码的形式存放。最⾼位为符号位。正数为 0,负数为 1 (不完全)

     B. 正数的原码、反码、补码就是它本身。原码该数转换位⼆进制的形式

     C. 负数的反码 :符号位不变,对原码其它位依次取反。0 变 1,1 变 0 负数的补码 :符号位不变,反码 + 1

  例如:

   以 8bit 的数据存储为例讲解。

2.补码转换为原码

  ⽅法 1: 原码 = 补码 - 1 ,然后符号位不变,按位取反

相关文章:

  • 基于实时语音转换的AI语音增强技术解析——以Krisp和Sanas创新实践为例
  • ABS函数c++
  • 基于FLask的大众点评美食推荐系统的设计与实现
  • 2025 年网络安全终极指南
  • 在docker中安装RocketMQ
  • 使用 Python 连接 PostgreSQL 数据库,从 `mimic - III` 数据库中筛选数据并导出特定的数据图表
  • 学透Spring Boot — 017. 处理静态文件
  • AnimateCC基础教学:json数据结构的测试
  • CANoe CAPL——XCP CAPL函数
  • 【spring cloud Netflix】Hystrix组件
  • Qt 入门 2 之窗口部件 QWidget
  • k采样器是什么
  • Java-实现公有字段自动注入(创建人、创建时间、修改人、修改时间)
  • 神经网络之损失函数
  • Linux主要开发工具之gcc、gdb与make
  • 模型压缩技术从零到一
  • NO.67十六届蓝桥杯备战|基础算法-倍增思想|快速幂|快速乘法(C++)
  • nacos的地址应该配置在项目的哪个文件中
  • 【网安】处理项目中的一些常见漏洞bug(java相关)
  • 换脸视频FaceFusion3.1.0-附整合包
  • 炫酷网站欣赏/合肥网络推广公司
  • 呼伦贝尔网站开发/百度百度一下
  • 写出网站版面布局设计步骤/手机网页链接制作
  • 橙子建站网页推广/长清区seo网络优化软件
  • wordpress多站点sitemap/长春网站建设设计
  • html5网站开发/广告营销包括哪些方面