ubuntu18.04高级模式
c语言里面的浮点数的表示方法有几种?分别是什么?
c语言里面的浮点数的表示方法有几种?分别是什么?
浮点型常量浮点型即生活中使用的小数类型(例如3.14),例如账户的余额,银行的存款利率等等都是浮点型。C语言中按照精度的不同分别使用float,double和long double表示,默认浮点类型是double,float占据四个字节,double占据8个字节,long double大于等于8个字节,Windows 32位和64位系统long double都是8个字节,Ubuntu18.04系统下long double是占据16个字节。浮点数的常量可以使用十进制的小数和科学计数法表示,科学计数法可以存储特大或者特小的数字浮点数变量在初始化浮点数变量时,默认值建议为0.0或者0.0f,赋值时变量的值和变量的类型保持一致。
printf()函数输出float类型的变量使用格式符%f,输出double类型的变量使用%lf。浮点型极限C语言在limits.h的头文件中使用常量定义了float和double以及long double的极限值,我们可以使用sizeof()关键字求出float,double和long double的字节数量以及使用常量FLT_MAX,FLT_MIN求出float表示的最大值和最小值以及DBL_MAX,DBL_MIN求出double所能表示的最大值和最小值。
在windows上double和long double是等价的,但是在Linux(例如Ubuntu 18.04上)long double是占据16个字节,这也就意味着long double的极限比double更大。浮点数在内存中的存储首先明确一点,无论是整型、浮点型还是字符等等数据类型在计算机底层都是以二进制的方式存储的。浮点数在内存中的存储和整数不同,因为整数都可以转换为一一对应的二进制数据。而浮点数的存储是由符号位(sign) 指数位(exponent) 小数位(fraction)组成。
其中float是由1位符号位 8位指数 23位小数组成,而double是由1位符号位 11位指数位 52位小数位组成。
int和float同样占据四个字节的内存,但是float所能表示的最大值比int大得多,其根本原因是浮点数在内存中是以指数的方式存储。我们都知道在内存中,一个float类型的实数变量是占据32位,即32个二进制的0或者1组成从低位依次到高位叫第0位和第31位,这32位可以由三部分组成:符号位:第31位数表示符号位,如果为0表示整数,如果为1表示负数指数:第23位到第30位,这8个二进制表示该实数转化为规格化的二进制实数后的指数与127(127即所谓的偏移量)之和所谓阶码,规格化的二进制实数只能在-127-127之间。
小数位:第0位到第22位,最多可以表示23位二进制小数,否则超过了就会产生误差。浮点数相等性判断float占据四个字节,提供的有效位是6-7位,而double占据八个字节,提供的有效位数是15-16位,如果在使用float或者double表示实数时超过有效数字,若拿来进行关系运算(例如等于)的话,会得到一个错误的结果。
如何在win10中体验Linux系统的快乐?
什么是Linux?Linux和Windows是电脑操作系统的一大类。和Windows系列是由微软公司开发出的付费操作系统不同,Linux则是一个由全球的程序员参并进行维护的开源免费的操作系统。
为什么使用Linux?还记得的刚接触 Linux时,使用的是发行版Red Hat Enterprise Linux 7的64 位版本的虚拟机。第一印象就是和win10完全不同,Linux的特色就是命令行,后来由于学习计算机网络和操作系统或者嵌入式开发甚至编译原理等知识的需要,或多或少地会涉及到和Linux有关的知识。
如何在Win10中使用Linux?准备:下载并安装VMware WorkStation
步骤:
1.在Ubuntu的官网下载Ubuntu的镜像文件()
2.VMware WorkStation中选择创建虚拟机
3.按照虚拟机安装向导一步一步操作
自行通过下载路径选择镜像文件地址
4.设置Linux用户名和密码,作为登陆Linux的依据
5.选择完虚拟机安装路径之后,根据向导操作,
6.安装完虚拟机后,左侧的工具栏会出现刚刚安装好的虚拟机
7.现在我们来打开虚拟机按照指引一步一步配置
8.登录之后就可以享受我们的Ubuntu啦!
不过这种安装方法有一个缺点,就是界面太小,对于轻薄本和商务本的笔记本用户极不友好。(据说这个问题也可解,应对方法见评论区)
---------------------------------------------
如果你认为我的回答对你起到帮助的话,希望你可以在该内容下方进行点赞或关注我,如果你在刷机过程你遇到了问题,也欢迎你可以私信我,我随时乐意帮你解决。