首页 > 其他分享 >C语言中floatVSdouble

C语言中floatVSdouble

时间:2023-10-02 13:06:07浏览次数:36  
标签:%. floatVSdouble 0.0 浮点数 C语言 ff printf ----------------------


关于浮点数的科学计数法和浮点数之间的比较

//
// Created by 王东梁 on 2023/9/14.
//
#include<stdio.h>
#include <math.h>

int main() {
    double ff=123.666;
    printf("%e,%E,%f,%lf\n",ff,ff,ff,ff);
    printf("----------------------\n");
    double dd=1E-10;
    printf("%E,%.16f\n",dd,dd);
    printf("----------------------\n");
    printf("%.3f\n",-0.0049);
    printf("%.30f\n",-0.0049);
    printf("%.3f\n",-0.00049);
    printf("----------------------\n");
    printf("----------------------\n");
    printf("%f\n",12.0/0.0);//在浮点数中可以除以0来表示无穷大
    printf("%f\n",-12.0/0.0);
    printf("%f\n",0.0/0.0);
//    printf("%d\n",12/0);会发生编译不通过,整型的时候不能除以0
    //判断浮点数是否相等,不能直接用两个等号,要用两个浮点数的差来判断,一般用fabs(f1-f2)<le-12来表示相等
    float a,b,c;
    a=1.345f;
    b=1.123f;
    c=a+b;
    //错误方式判断相等
//    if(c==2.468)
//        printf("相等\n");
    //正确方式判断是否相等
//    if(fabs(c-2.468)<1e-12)
//    这里再次出现错误,带小数点的字面量是double而非float,float需要用f或F后缀来表明身份
    if(fabs(c-2.468f)<1e-12)
        printf("相等\n");
    else
        printf("不相等!c=%,10f,或%f\n",c,c);
    //小结,如果没有特殊需要,只使用double
    //现代CPU能直接对double做硬件运算,性能不会比float差,在64位的机器上,数据存储的速度也不比float慢





    return 0;

}


标签:%.,floatVSdouble,0.0,浮点数,C语言,ff,printf,----------------------
From: https://blog.51cto.com/u_15305087/7683365

相关文章

  • 实验1 C语言输入输出和简单程序编写
    1.实验任务1task1_1.c源代码1#include<stdio.h>2intmain()3{4printf("o\n");5printf("<H>\n");6printf("II\n");7printf("o\n");8printf("<H>\n"......
  • 实验1c语言的简单输入输出和简单程序编写
    实验1#include<stdio.h>#include<stdlib.h>intmain(){printf("0\n");printf("<H>\n");printf("II\n");system("pause");return0;}实验2#include<stdio.h>#include<stdlib.......
  • C语言的二进制
    32位最大值为什么是2^31-1计算机里面是用补码表示数字,因为要区分正负,用最高位来区分,0位正,1为负。剩下2^31,除去0就是(2^31)-1另外1开头是负数,范围就是-2^31到+(2^31)-1 int_max二进制如下,首位的0为符号位01111111111111111111111111111111如果int_max+1,则......
  • 实验1C语言输入输出和简单程序编写
    1.实验1实验1.1源代码 1//打印一个字符小人23#include<stdio.h>4intmain()5{6printf("0\n");7printf("<H>\n");8printf("II\n");9printf("0\n");10printf("<H>......
  • 【C语言入门】第一天
    [例题1]输入两个正整数a和b,输出a+b的值。其中a,b<10000.#include<stdio.h>intmain(){inta,b;scanf("%d%d",&a,&b);printf("%d",(a+b));return0;}[例题2]先输入一个t(t<100),然后输入t组数据。对于每组数据,输入两个整数a和b,输出a+b值......
  • C语言学习记录---数组1
    BIT-4-数组一维数组的创建和初始化一维数组的使用一维数组在内存中的存储二维数组的创建和初始化二维数组的使用二维数组在内存中的存储数组越界数组作为函数参数数组的应用实例1:三子棋数组的应用实例2:扫雷游戏1.一维数组的创建和初始化。1.1数组的创建数组是一组相同类型元素......
  • 实验一 C语言输入输出和简单程序编写
    实验任务一1#include<stdio.h>2#include<stdlib.h>3intmain()4{5printf("0\n");6printf("<H>\n");7printf("||\n");8printf("0\n");9print......
  • 实验1—C语言输入输出和简单程序应用编写
    1.实验1实验1_1源代码1#include<stdio.h>2#include<stdlib.h>3intmain()4{5printf("O\n");6printf("<H>\n");7printf("II\n");8printf("\n");9printf("......
  • 实验1 C语言输入输出和简单程序编写
    task1.c代码1#include<stdio.h>2intmain()3{4printf("O\n");5printf("<H>\n");6printf("II\n");7return0;8}task1.c运行截图 task1-1.c代码1#include<stdio.h>2int......
  • NO.3 C语言实现贪吃蛇游戏(Linux)
     一、简易说明:实现了初步的游戏模型,可以玩,但有一些细节bug没有解决。用WASD控制方向  二、源代码+头文件1#include<stdio.h>2#include"snake.h"34567intmain(intargc,constchar*argv[])8{91011system("cl......