C语言中,基本数据类型介绍

C语言当中各种数据类型的大小,首先要了解有哪些数据类型。

一 字符型:

整数(字符)类型存储大小值范围
char1 字节-128 到 127 或 0 到 255(2的8次方)
unsigned char1 字节0 到 255()
signed char1 字节-128 到 127()

对于字符而言,本质上还是数字,只不过存放的是字符的ASCII码值,根据ASCII码表显示字符。

二 整数类型:

在64位系统的编译环境下:

整数类型存储大小值范围
int 4 字节-32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
unsigned int4字节0 到 65,535 或 0 到 4,294,967,295
short2 字节-32,768 到 32,767
unsigned short2 字节0 到 65,535
long8字节-2,147,483,648 到 2,147,483,647
unsigned long8字节0 到 4,294,967,295

知识补充 :

有符号整数(signed)

有符号整数通常采用二进制补码形式来表示。补码表示法允许我们使用一个固定数量的位(bit)来表示正数、负数和零。补码表示法的关键之处在于它使得加法运算在包括负数的情况下也能保持简单性。

对于有符号整数

  • 最高位(最左边的位) 是符号位。0表示正数或零,1表示负数。
  • 剩下的位用于表示整数的数值部分(或称为幅度)。
补码计算
  • 正数的补码就是其本身。
  • 负数的补码是其绝对值的二进制表示(原码)取反后加一。

例如,一个8位的有符号整数:

  • +5 的原码、反码和补码都是 0000 0101
  • -5 的原码是 1000 0101,反码是 1111 1010,补码是 1111 1011

无符号整数(unsigned)

无符号整数则直接使用所有位来表示整数的数值部分,没有符号位。因此,无符号整数的范围是从0到2^n-1,其中n是整数的位数。

例如,一个8位的无符号整数可以表示的范围是0到255(即0000 0000到1111 1111)。

存储和解释

在内存中,有符号和无符号整数都是以二进制的形式存储的。它们之间的区别主要在于我们如何解释这些二进制位。当我们读取一个整数值时,如果我们将其解释为有符号的,那么计算机会使用补码规则来解释最高位作为符号位;如果我们将其解释为无符号的,那么计算机会将所有位都视为数值部分。

示例

假设我们有一个8位的二进制数 1000 0001

  • 如果我们将其解释为有符号整数,那么它表示的是-127(这是-1的补码表示)。
  • 如果我们将其解释为无符号整数,那么它表示的是129。

三浮点型:

不同的浮点型,我们往往不需要那么高的精度去存储,有时候常常约束小数部位。

浮点类型存储大小值范围精度
float4 字节1.2E-38 到 3.4E+386 位有效位
double8 字节2.3E-308 到 1.7E+30815 位有效位
long double16 字节3.4E-4932 到 1.1E+493219 位有效位

四 布尔类型:

在C语言标准中,并没有直接定义布尔(boolean)类型。然而,从C99标准开始,C语言引入了一个头文件 <stdbool.h>,该头文件定义了布尔类型以及两个宏:true 和 false

所以要使用布尔类型 ,必须包含头文件<stdbool.h>

当你包含 <stdbool.h> 头文件后,你可以使用 bool 作为布尔类型,由于布尔类型大小只有一个bit位,只能表示0和1,所以我们往往用它表示真假或者表示对错。对于单片机当中常常用于

true (1)和 false(0) 作为布尔值。这使得可以调用函数的时候可以判断程序执行有无问题。

整数类型存储大小值范围
bool 1 bittrue (1), false(0)

对于结构体由于计算内存大小比较特殊,我单独写在自定义数据类型当中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/750696.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端框架的发展史介绍框架特点

目录 1.前端框架的发展历程 2.官网、优缺点、使用场景 2.1 jQuery 2.2 AngularJS 2.3 React 2.4 Vue.js 2.5 Angular 1.前端框架的发展历程 jQuery&#xff08;2006年&#xff09;&#xff1a;jQuery是一个非常流行的JavaScript库&#xff0c;用于简化DOM操作和事件处理…

【数据库】基础操作

系列文章目录 &#x1f308;座右铭&#x1f308;&#xff1a;人的一生这么长、你凭什么用短短的几年去衡量自己的一生&#xff01; &#x1f495;个人主页:清灵白羽 漾情天殇_计算机底层原理,深度解析C,自顶向下看Java-CSDN博客 ❤️相关文章❤️&#xff1a;清灵白羽 漾情天…

【Qt问题】vs里直接打开qt项目的ui会崩溃

问题描述&#xff1a; 当我用VS2019开发Qt的时候&#xff0c;在VS编译器里要用到Qt的ui设计&#xff0c;但是双击打开发现直接就崩溃了。 解决办法&#xff1a; 崩溃的原因很简单&#xff0c;是因为VS默认用的qt designer打开&#xff0c;所以会崩溃&#xff0c;我们右键单击…

还是了解下吧,大语言模型调研汇总

大语言模型调研汇总 一. Basic Language ModelT5GPT-3LaMDAJurassic-1MT-NLGGopherChinchillaPaLMU-PaLMOPTLLaMABLOOMGLM-130BERNIE 3.0 Titan 二. Instruction-Finetuned Language ModelT0FLANFlan-LMBLOOMZ & mT0GPT-3.5ChatGPTGPT-4AlpacaChatGLMERNIE BotBard 自从Cha…

软考 系统架构设计师之回归及知识点回顾(7)

接前一篇文章&#xff1a;软考 系统架构设计师之回归及知识点回顾&#xff08;6&#xff09; 11. 云计算 背景 大数据和云计算已成为IT领域的两种主流技术。“数据是重要资产”这一概念已成为大家的共识&#xff0c;众多公司争相分析、挖掘大数据背后的重要财富。同时学术界、…

使用 Python 编写程序保护您的眼睛

眼睛&#xff0c;是心灵的窗户&#xff0c;生活在数字时代的我们&#xff0c;眼睛首当其冲地承受冲击。盯着电脑屏幕成为我们日常工作和学习的一部分&#xff0c;导致用眼过度。那如何减少对眼睛的伤害&#xff0c;应该如何保护眼睛&#xff1f; 用眼应控制时间&#xff0c;自…

wait/notify/notifyAll 方法的使用注意事项

wait/notify/notifyAll 方法的使用注意事项 wait/notify/notifyAll 方法的使用注意事项 wait/notify/notifyAll 方法的使用注意事项为什么 wait 必须在 synchronized 保护的同步代码中使用&#xff1f;为什么 wait/notify/notifyAll 被定义在 Object 类中&#xff0c;而 sleep …

论文浅尝 | GPT-RE:基于大语言模型针对关系抽取的上下文学习

笔记整理&#xff1a;张廉臣&#xff0c;东南大学硕士&#xff0c;研究方向为自然语言处理、信息抽取 链接&#xff1a;https://arxiv.org/pdf/2305.02105.pdf 1、动机 在很多自然语言处理任务中&#xff0c;上下文学习的性能已经媲美甚至超过了全资源微调的方法。但是&#xf…

python之自动化(django)

1、安装 我用的是pip install Django 在命令行中安装 然后django-admin startproject autotext&#xff08;在命令行中&#xff09; 这句话是创建一个django 项目 然后切换到你所创建项目的目录下 输入&#xff1a; python manage.py runserver 当你出现以下错误时 You…

武汉灰京文化:直播游戏新时代的游戏宣传方式

随着互联网和科技的迅速发展&#xff0c;游戏产业也日益繁荣。传统的游戏宣传方式逐渐显现出一些不足&#xff0c;传统的广告渠道和媒体报道在一定程度上已经不能满足游戏行业的需求。然而&#xff0c;随着直播平台的兴起&#xff0c;直播游戏成为了一种新的游戏宣传方式&#…

【原创】java+swing+mysql二手车交易管理系统

前言&#xff1a; 本文主要介绍了二手车交易管理设计与实现。首先&#xff0c;通过市场需求&#xff0c;我们确定了二手车的功能&#xff0c;通常的二手车交易系统都是B/S架构&#xff0c;然而我们今天要用javaswing去开发一个C/S架构的二手车交易管理系统&#xff0c;主要功能…

第八阶段:uni-app小程序 --首页开发(2)

一&#xff1a;分析页面布局 1.1: 功能 搜索框&#xff1a; 轮播图&#xff1a; 分类的导航区&#xff1a; 楼层区&#xff1a; 二&#xff1a; 利用命令创建home分支 git branch git checkout -b home git branch 三&#xff1a; 配置网络请求(main.js 入口函数&#x…

【网络原理】TCP 协议中比较重要的一些特性(三)

目录 1、拥塞控制 2、延时应答 3、捎带应答 4、面向字节流 5、异常情况处理 5.1、其中一方出现了进程崩溃 5.2、其中一方出现关机&#xff08;正常流程的关机&#xff09; 5.3、其中一方出现断电&#xff08;直接拔电源&#xff0c;也是关机&#xff0c;更突然的关机&am…

【JVM】什么是运行时数据区?

什么是运行时数据区&#xff1f; 运行时数据区指的是JVM所管理的内存区域&#xff0c;其中分成两大类&#xff1a; 线程共享 – 方法区、堆 方法区&#xff1a;存放每一个加载的类的元信息、运行时常量池、字符串常量池。 堆&#xff1a;存放创建出来的对象。 线程不共享 – …

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:TextTimer)

通过文本显示计时信息并控制其计时器状态的组件。 说明&#xff1a; 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 无 接口 TextTimer(options?: TextTimerOptions) 参数&#xff1a; 参数名参数类型…

【Miniconda】一文了解conda虚拟环境的作用

【Miniconda】一文了解conda虚拟环境的作用 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448; 希望得到您的订阅和支持~ &am…

微信小程序关闭首页广告

由于之前微信小程序默认开启了首页广告位。导致很多老人误入广告页的内容&#xff0c;所以想着怎么屏蔽广告。好家伙&#xff0c;搜索一圈&#xff0c;要么是用户版本的屏蔽广告&#xff0c;或者是以下一个模棱两可的答案&#xff0c;要开发者设置一下什么参数的&#xff0c;如…

AI预测福彩3D第10弹【2024年3月16日预测--第2套算法重新开始计算第2次测试】

今天继续开始咱们第2套算法的验证&#xff0c;计划每套算法连续测试10期&#xff0c;达到50%的命中率即为较优的模型&#xff0c;可继续使用。老规矩&#xff0c;先上图表&#xff0c;再下结论~ 最终&#xff0c;经过研判分析&#xff0c;2024年3月16日福彩3D的七码预测结果如下…

Stargo 管理部署 Starrocks 集群

配置主机间 ssh 互信 ssh-copy-id hadoop02 ssh-copy-id hadoop03配置系统参数 ############################ Swap检查 ############################ echo 0 | sudo tee /proc/sys/vm/swappiness########################### 内核参数检查 ########################## echo…

外包干了3天,技术明显进步。。。。。

先说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入南京某软件公司&#xff0c;干了接近2年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了2年的功能测试&…