c语言之进制转换复习(一)

简介: c语言之进制转换复习(一)

文章目录

一、进制介绍

  1. 十进制
  • 组成:0 1 2 3 4 5 6 7 8 9
  • 规则:遇十进一
  • 表示方法:520可表示为52010或者520D
  1. 二进制
  • 表示方法:10010可表示为100102或者10010B
  1. 八进制
  • 表示方法:520可表示为5208后者520O
  1. 十六进制
  • 表示方法:520可表示为52016或者520H

二、存储单位

  1. 位(bit):计算机存储的最小单位
  2. 字节(byte):数据表示的最小单位
  3. 转换:
  • 1byte=8bit
  • 1KB=1024byte
  • 1MB=1024KB
  • 1GB=1024MB
  • 1T=1024GB

三、进制转换

  1. 十进制转二 八 十六进制:辗转相除法(短除法)

关于短除法,就是把每一位(这里指的每一位是指个位十位之类的)除以要转换的进制的余数在乘以当前进制的值加到下一位去,当前位的值就为商,然后这样一直进行到最后一位(也就是个位)个位在对所须转换的进制在取模,那么这个模就是转换后的结果。多次重复,直到最后一位为0,从后往前看就是答案。

八 二 十六进制转十进制:位权计算

第一步先把数字从右到左编号:从0开始编号

应用公式:数值*该数的进制编号

链接:位权计算

八进制 二进制 十六进制之间的互相转换:拆分

八进制转二进制一个拆三个

520 5对应101 ,2对应010 ,0对应000,所以最后转为二进制就是101010000

二进制转八进制三个合一个

101 010 000分别对应5 2 0

其它同理

四、整数的存储方式

  1. 机器数(二进制):最高位存储符号,正0负1
    例:-3可表示为1000 0011
  2. 机器数的真值:因为机器数带符号,所以机器数的形式值不等于机器值,为区分将带符号的机器数对应的真实值称为机器数的真值
  3. 原码,补码,反码
  • 原码就是机器数
  • 反码
  • 正数的反码是其本身
  • 负数的反码在其原码的基础上,符号位不变,其余各个位取反
  • 补码
  • 正数的补码是其本身
  • 负数的补码为其反码+1

注:为什么要引进补码?

  • 在计算机中存储的都是补码
  • 如果你把一个负数以无符号的形式解析,那么将得到一个很大的数字
  • 一个字节能够存储的数据范围?
  • 有符号:[-128,127]1
  • 无符号:[0,256)

五、小数的存储方式

分为float和double

  1. 内存分布
  • 符号s:0正1负
  • 尾数M:小数点后面的部分
  • 指数E:即阶码,指明了小数点在数据中的位置
  • 为了让指数表示正负引入了偏差码,float为127,double为1024
  1. 十进制小数转二进制小数
  • 先把整数部分转为二进制
  • 再把小数部分转为二进制(用2乘以小数部分,每次将结果整数取出,然后用剩余小数部分继续乘以2,直到小数部分为0,或者达到要求的精度为止)

————————————————

版权声明:本文为CSDN博主「热爱编程的小K」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_72157449/article/details/127937778

相关文章
|
3月前
|
存储 C语言
【C语言基础考研向】04整型进制转换
本文介绍了计算机中整型常量的不同进制表示,包括二进制、八进制、十六进制和十进制,并解释了它们之间的转换方法。以一个32位整型数为例,展示了其在不同进制下的表示形式及计算方法,特别指出在内存观察中常用十六进制,同时提到了小端存储方式对数据的影响。
|
7月前
|
存储 编译器 C语言
爱上C语言:整型和浮点型在内存中的存储(进制转换,原码,反码,补码以及大小端)
爱上C语言:整型和浮点型在内存中的存储(进制转换,原码,反码,补码以及大小端)
|
7月前
|
C语言
C语言进制转换
C语言进制转换
|
7月前
|
C语言
C语言常见的进制转换
C语言常见的进制转换
|
7月前
|
存储 编译器 C语言
C语言:进制转换以及原码、反码、补码
C语言:进制转换以及原码、反码、补码
159 0
|
7月前
|
数据处理 C语言
【C语言宝库】- 操作符|详解进制转换|计算机小白必备技能(上)
【C语言宝库】- 操作符|详解进制转换|计算机小白必备技能(上)
75 0
|
7月前
|
存储 编译器 C语言
c语言进制转换、操作符万字详解------附带多道经典习题
常用的进制分类 二进制:由0和1组成 八进制:由0~7数字组成 十进制:由0~9数字组成 十六进制:由0~9和A~F组成
|
C语言
【C语言航路外传】进制转换
【C语言航路外传】进制转换
60 0
|
C语言
C语言的进制转换
C语言的进制转换