首页 > 其他分享 >2.c语言数据类型

2.c语言数据类型

时间:2023-06-29 17:12:40浏览次数:32  
标签:语言 int double float 数据类型 类型 include

c语言数据类型如图:

image 图中的单位为byte(字节),1 byte = 8 bit.

  • 整形数据的存储都是以补码的形式存储的

  • 对于负数,进行以下的转换:

如数-254,在存储该数时:

  • 先对其取绝对值
  • 在转换成二进制
  • 对二进制数取反加一即可。
  • 对于浮点数的存储,采用诸如下面的存储方式:
3.14 = 0.314 * 10^{-1}\\精度
  • 不同类型数据之间转换

    一般在数据转换过程中会出现数据丢失的情况,并且不存在四舍五入的情况

(1)隐式转换

比如:

int i;  //(int 32bit 4byte)
float f;  //(float 32bit 4byte)
double d;  //(double 64bit 8byte)
char ch;  //(char 8bit 1byte)

进行如(i + ch)- (d + f)时,运算结果会取占用字节数最多的数。
上式等于int - double = double,最终的结果转化成double类型。这就是隐式转换。

(2)显示转换(——>强制类型转换)

  • 特殊类型

(1)bool类型(逻辑值——真或假)

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
    
int main()
{
    bool a = false;
    printf("a = %d\n",a);
        
    exit(0);
    }

上面代码输出值为0,bool类型在输出值时只有01

(2)float类型(表示一个范围)

float类型只是表示精度,一个范围,无法定义其与某一个数精确相等
比如

 1/3*3=3

但在计算机计算时,这种情况不存在

1/3*3=0.3333\.{3}*3=0.9999\.{9}

若表示两者相等,则需要规定误差范围。示例代码,float类型的数与整形数相等:

#include <stdio.h>
#include <stdlib.h>
int func(float f)
{
   //if(f == 1)  // or f == 1 这种情况不存在的
   //改写为:
   if(fabs(f-1) <= 1e-6)
   return 1;
}

(3)char是否有符号(不知道

(4)不同形式的0

  • 0
  • '0'(字符)
  • \0 (NULL)
  • "0"(字符串)

(5)数据类型与后续代码中使用的输入与输出相匹配(禁止出现前后矛盾)

标签:语言,int,double,float,数据类型,类型,include
From: https://www.cnblogs.com/jxsme/p/17514679.html

相关文章

  • 【845】R语言case_when函数
    参考:case_when:AgeneralvectorisedifOthers用TRUE表示,举例如下:x<-1:50case_when(x%%35==0~"fizzbuzz",x%%5==0~"fizz",x%%7==0~"buzz",TRUE~as.character(x)) ......
  • tinymce:安装中文语言包(tinymce 6.5.1)
    一,未安装中文前:二,下载中文语言包:https://www.tiny.cloud/get-tiny/language-packages/如图:解压缩后,复制langs目录到static目录下:如下:三,js代码中进行初始化:1234567891011<script>      tinymce.init({        language_url......
  • Java or Python?测试开发工程师如何选择合适的编程语言?
    很多测试开发工程师尤其是刚入行的同学对编程语言和技术栈选择问题特别关注,毕竟掌握一门编程语言要花不少时间成本,也直接关系到未来的面试和就业(不同企业/项目对技术栈要求也不一样),根据自身情况做一个相对正确的选择确实要比盲目投入更明智也更高效。目前最常见的情况是纠结选择Jav......
  • 【C语言】时间结构体
    本文主要就C语言中常用类型time_t具体分析。一、定义首先来看一下定义,原来是一种类型重命名。/*File:/usr/include/time.h*/typedef__time_ttime_t;库文件中使用的其实是__time_t这个命名。/*File:/usr/include/bits/time.h*/structtimeval{__time_ttv_se......
  • 【AI 充电】揭秘大语言模型实践:分布式推理的工程化落地才是关键!
    分布式推理成为大模型落地的首选方案随着3月15日OpenAI重磅发布了GPT4,其在司法考试、程序编程上的惊艳表现,将大家对大模型的热情推向了顶点,人们纷纷讨论是否我们已经进入到通用人工智能的时代。与此同时,基于大语言模型的应用也如雨后春笋出现在大家面前,其在协同办公、客服......
  • 小米,MiUI文字转语言没有首选引擎
    小米,MiUI文字转语言没有首选引擎,可以试着下载“小爱语音引擎”。链接:小爱语音引擎-小米应用商店(mi.com)微云:点击此处                            ......
  • js的Set数据类型
    在js中,Set和Map相比,也有一组key的集合,但不存储value。由于key不能重复,所以,在Set中没有重复的key。因此,set使用的场景在于,可以提供一组没有重复元素的集合。Set构造要构造一个Set对象,需提供一个Array作为输入,或者直接构造一个空Set,如:varset=newSet(["beijing","shanghai"......
  • 逍遥自在学C语言 | 函数初级到高级解析
    前言函数是C语言中的基本构建块之一,它允许我们将代码组织成可重用、模块化的单元。本文将逐步介绍C语言函数的基础概念、参数传递、返回值、递归以及内联函数和匿名函数。一、人物简介第一位闪亮登场,有请今后会一直教我们C语言的老师——自在。第二位上场的是和我们一......
  • 汇编语言学习笔记
    汇编语言学习笔记目录第一章基础知识第二章寄存器(CPU工作原理)第三章寄存器(内存访问)第四章第一个程序第五章[BX]和loop指令第六章包含多个段的程序第七章更灵活定位内存地址第八章数据处理的两个基本问题第九章转移指令的原理第十章call和ret指令第十一章标......
  • R语言动态可视化:制作历史全球平均温度的累积动态折线图动画gif视频图|附代码数据
    全文链接:http://tecdat.cn/?p=9766原文出处:拓端数据部落公众号最近我们被客户要求撰写关于动态可视化的研究报告,包括一些图形和统计输出。 在某些情况下,你可能希望通过在每帧中添加数据并保留先前添加的数据来进行动画处理。现在,我们将通过制作点线图的动画来探索。以下是制......