目录

1.输出1/3

2.输出1.0/3

3.输出1.0/3

4.输出3.0/3

5.输出3.0/3.0

6.输出3.0/2

7.输出0.2222222222

8.输出1.222222222222

9.输出11111111.222222222222

上网找float和double的区别:


1.输出1/3

#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main()
{float a;a = 1/3;printf("%d",a);return 0;
}
输出结果:0

2.输出1.0/3

#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main()
{float a;a = 1.0/3;printf("%d",a);return 0;
}
输出结果:1610612736

%d 直接输出整数,有有符号和无符号之分,看你的定义了 %c 是输出单个字符的,从ASCII码角度看,字符可以直接输出为相应的整数 %f 是输出浮点数,大部分情况是小数,不指定位数的话根据系统一般是小数点后保留6位,像%.4f 保留4位

3.输出1.0/3

#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main()
{float a;a = 1.0/3;printf("%f",a);return 0;
}
输出结果:0.333333

4.输出3.0/3

#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main()
{float a;a = 3.0/3;printf("%f",a);return 0;
}
输出结果:1.000000

发现在C语言中不能像C++那样把后位小数部分0去掉,如下:

#include<iostream>
using namespace std;
int main(){cout<<3.0/3;return 0;
}
输出结果:1

5.输出3.0/3.0

#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main()
{float a;a = 3.0/3.0;printf("%f",a);return 0;
}
输出结果:1.000000

6.输出3.0/2

#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main()
{float a;a = 3.0/2;printf("%f",a);return 0;
}
输出结果:1.500000

7.输出0.2222222222

#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main()
{float a;a = 0.2222222222;printf("%f",a);return 0;
}
输出结果:0.222222

8.输出1.222222222222

#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main()
{float a;a = 1.222222222222;printf("%f",a);return 0;
}
输出结果:1.222222

小数点后输出6位了!

再回过来看一下vs code 里C++的输出

#include<iostream>
using namespace std;
int main(){cout<<1.222222222222;return 0;
}
输出结果:1.22222

可见C++可见的加上整数部分也就6位

而C可见部分能达到小数点后六位

9.输出11111111.222222222222

#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main()
{float a;a = 11111111.222222222222;printf("%f",a);return 0;
}
输出结果:11111111.000000

可见C小数点后六位是保持下来的,但为什么不是11111111.222222

而是11111111.000000?

#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main()
{double a;a = 11111111.222222222222;printf("%f",a);return 0;
}
11111111.222222

把float改成double即可实现小数点后6位2的保留

上网找float和double的区别:

1、float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位,float的指数范围为-127+128,而double的指数范围为-1023+1024,并且指数位是按补码的形式来划分的。

2、float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的"“1",由于它是不变的,故不能对精度造成影响。float: 2^23=8388608,一共七位,double: 2452= 4503599627370496,一共16位。

3、float型的变量一般占用4个字节的内存空间,double型一般占用8个字节的内存空间

#include<iostream>
using namespace std;
int main(){cout<<11111111.222222222222;return 0;
}
1.11111e+07

VS code C语言输出位数相关推荐

  1. VS Code写C语言输出long double类型数据不正确的问题

    VS Code写C语言输出long double类型数据不正确的问题 在学习<C Primer Plus>一书时遇到一个例题 #include <stdio.h>int mai ...

  2. C语言输出123456互不相同的三位数组合1/2

    C语言输出123456互不相同的三位数组合 1.运行代码,结果如下. 2.部分源代码 1.运行代码,结果如下. 2.部分源代码 #include<stdio.h> void main () ...

  3. c语言输出大数,C语言数据输出大汇总

    在C语言中,有三个函数可以用来在显示器上输出数据.下面一起来看看! puts():只能输出字符串,在<C语言在屏幕上显示内容>中已经进行了介绍. put):只能输出单个字符,本节将会介绍. ...

  4. c语言输出字符串显示在屏幕上,C语言输出printf

    C语言输出printf教程 在 在我们使用 printf 函数时,格式占位符的格式个数一定要与后面的需要输出的变量或者字面量的个数匹配,否则程序报错. printf函数详解 语法 int printf ...

  5. c语言输出后续字母,c语言题。 按顺序打印输出26个英文字母,

    #includeint main(){int i;for(i=0;i<26;i++)printf("%c ",i+'A'):for(i=0;i<26;i++)print ...

  6. 三个月可以入门c语言吗,c语言输出2015年日历,要求三个月在一行上(就是按照季度输出)...

    满意答案 h0p2znym 推荐于 2017.09.26 采纳率:56%    等级:9 已帮助:513人 根据闰年定义,能被400整除的年,或者能被4整除且不是100的倍数的,是闰年.于是C中判断y ...

  7. C语言输出字符,字符串的ASCII码的16进制数

    C语言输出字符,字符串的ASCII码的16进制数 /* file name : test.c cmd code : gcc -o test.exe test.c */ #include<stdi ...

  8. python gui 可视化开发工具_用c语言输出九九乘法口诀表

    用c语言输出九九乘法口诀表务的开展口业地区达30个全国二手车出,用c语,个省辖市(自治区和直覆盖. 并且的尺越级具有寸,输出科技打造星瑞母体吉利基于吉利架构超级,足够亮眼产品实力.的主型品牌作为主流合 ...

  9. 用C语言输出一个字符串的所有子串

    前言 啥是子串? 串中任意个连续字符组成的子序列称为该串的子串. 包含子串的串相应地称为主串. ①空串是任意串的子串. ②任意串是其自身的子串. 例:字符串"12"它的字串为&qu ...

最新文章

  1. 2019年工信部重点实验室名单公布 涵盖卫星导航及人工智能等多个领域
  2. sequelize 增加数据库字段_使用Sequelize动态创建新表
  3. 将数据导入DB2带自增字段的表
  4. HDU ACM 1162 Eddy's picture
  5. C语言基础:时间转换成字符串 strftime的代码
  6. 5训练需要更改参数吗_糖尿病病人需要多喝水吗?多喝水的5大好处,了解一下...
  7. java空文本_输出到文本文件,控制台为空-Java
  8. CSS3 动画 思维导图
  9. 单片机ch2o程序_基于单片机的室内甲醛浓度检测系统
  10. 阿狸心形表白html,2013qq情侣分组心形一对 心心相印的地久天长
  11. 手写一个HTTP图片资源服务器,太容易了叭!
  12. DDPush 任意门消息推送 开源免费实时信息推送服务器
  13. HTML5浏览器测试网站汇总
  14. 数据分析师如何度过互联网寒冬
  15. 电信计费系列3-短信计费
  16. 五个了解自己天赋优势的分析工具(二)盖洛普优势测评
  17. 微信小程序开发中,图片报403问题(图片加载失败)解决办法
  18. 儿童节 | 让你在“我的世界”,“添码”行空
  19. DS1307时钟模块
  20. MySQL子查询篇(精选20道子查询练习题)

热门文章

  1. [9]Windows内核情景分析 --- DPC
  2. 第五届传智杯-初赛【B组-题解】
  3. Win11如何更改字体样式?Win11更改字体样式的方法
  4. sql语法:详解DDL
  5. Delphi中使用TThread类实现多线程
  6. Echarts地图 绘制自定义区域 - geojson.io使用方法
  7. 约瑟夫环解法大全(C语言版)
  8. Android 开发环境搭建
  9. 利用Matlab将图片转换成素描(简笔画)风格
  10. 为什么hadoop没有slaves配置文件?