C语言进制转换,整数和小数内存存储模型分别是什么

介绍

本篇内容主要讲解“C语言进制转换,整数和小数内存存储模型分别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言进制转换,整数和小数内存存储模型分别是什么”吧!

,什么是进制

进制也就是进位计数制,是人为定义的带进位的计数方法。对于任何一种进制——- N进制,就表示每一位置上的数运算时都是逢N进一位。

数数相信大家都会了,比如0 1 2 3 4 5 6 7 8 9 10 11 12,13…,在数数时某一位数量满10了就向前进位,这种逢十进一的进位制,就叫十进制。

不过在日常生活中,并不止这一种进位制,比如1小时有60分钟,1分钟有60秒,满60进一,这就是六十进制。

而在计算机中常用的进制除了十进制,还有二进制,八进制,十六进制

二进制

组成:0 1

规则:逢二进一

表示方式:二进制数1000010可写成(1000010)2或写成1000010 B

八进制

组成:0 1 2 3 4 5 6 7

规则:逢八进一

表示方式:八进制数520可写成(520)8或写成520度

十六进制

组成:0 1 2 3 4 5 6 7 8 9 A B C D E F

规则:逢十六进一

表示方式:十六进制的520可以写成(520)16或写成520 h

为什么在计算机中,有这么多种进制表示方式?

  • 方便:二进制数中只有两个数码0和1,可用具有两个不同稳定状态的元器件来表示一位数码。

  • 简单:二进制数运算简单,大大简化了计算中运算部件的结构,0+0=0,0+1=1,1+0=1,1+1=10。

  • 真假:二进制天然兼容逻辑运算。

  • 缺点:二进制计数在日常使用上有个不便之处,就是位数往往很长,读写不便,如:把十进制的100000D写成二进制就是11000011010100000B,所以计算机领域我们实际采用的是十六进制。二进制数转换为十六进制数时,长度缩减为原先的约四分之一,把十进制的100000写成八进制就是303240。十六进制的一个数位可代表二进制的四个数位。这样,十进制的100000写成十六进制就是186A0。

存储单位

我们平常使用的程序,如:Windows操作系统、打字软件、游戏软件等。一般安装在硬盘等外存上,但仅此是不能使用其功能,必须把它们调入内存中运行,才能真正使用其功能。

因为内存的读写速度相对于外存来说非常快,但是内存是暂时存储程序以及数据的地方。当我们使用WPS处理文稿时,当你在键盘上敲入字符时,它被存入内存中。当你选择存盘时,内存中的数据才会被存入硬(磁)盘。

内存是由无数个晶体管组成的(可以理解为灯泡),一个晶体管作为一比特(bit)的存储器。每个晶体管可以存储一个二进制0或1,比特通常也叫做位。

位(bit): 计算机存储的最小单位

字节(byte): 数据表示的最小单位

  • 一个字节通常8位长 1byte=8 bit

千字节(KB):

  • 1KB=1024byte

  • 为什么是1024,而不是1000呢?二的十次方刚好是1024,就这么表示啦~

字节以上的转换单位都是1024,只有一个字节等于八个位是不一样的...

思考:为什么硬盘标注的容量与实际的容量不一样?

买的256G硬盘实际上只有238.4G,咱们一起来换算一下:

硬盘厂商十进制计算:256G=256,000MB=256,000,000KB=256,000,000,000Byte  以1000为单位换算操作系统二进制计算: 256G=262,144MB=268,435,456KB=274,877,906,944Byte  以1024为单位换算那么256G实际容量:256,000,000,

000Byte/1024MB/1024MB/1024MB=238.4G

所以,买256G硬盘实际上只有238.4G,而且容量越大差距也就越大了。

进制转换

十进制转其他进制:短除法

  • 以十进制数520为例,分别转换为二进制、八进制和十六进制,转换过程如下:

其他进制转十进制:位权相加

  • 就以上面的520D的二进制、八进制和十六进制为例

  • 首先,需要对其他进制从右往左依次开始编号,0 1 2 3 4 5 ...

  • 然后,把每一位的数通过这个公式【数值 * 基数^编号】计算,然后把结果相加,即得到转换结果

二进制10 0000 1000 转十进制

98 7654 3210 编号 10 0000 1000 B 1*2^9 + 0 + 1*2^3 = 512 + 0 + 8 = 520 D

C语言进制转换,整数和小数内存存储模型分别是什么