首页 > 其他分享 >C语言--基本数据类型

C语言--基本数据类型

时间:2024-08-04 16:29:08浏览次数:12  
标签:反码 -- 补码 数据类型 C语言 1111 0000 原码

数据类型概述

数据类型分类

基本数据类型
构造数据类型
指针类型
空类型

标识符规范

在C语言中,一般标识符用于 变量名、宏名、函数名…
注意事项:

  1. 可用数字、英文字母(大小写)、下划线、美元符
    形如:data、temp、func()、add_int()、xxx_123()
  2. 数字不能位于开头
  3. 不能和关键字重复

sizeof()计算空间占用情况

备注:

  1. sizeof()本质是运算符,不是函数!
  2. ()中的语句不会执行,只提供计算

存储单位

最小单位:位 (bit)
基本单位:字节 (byte)

对应关系:
1 byte = 8 bits
1 kb = 1024bytes
1 mb = 1024kb
1 gb = 1024mb
1 tb = 1024gb

整形

整形存储原理

实际底层均以“补码”存储,除了补码,还有原码、反码,正数和负数对三码的定义有所不同。

对于正数,三码一致,直接将数值转换为二进制即可(是原码 也是反码 也是补码),即为底层存储。

对于负数:

  1. 原码:将数值先转换为二进制,得到原码
  2. 反码:将原码符号位以外的其他位按位取反,得到反码
  3. 补码:将反码加一,得到补码

比如:

  1. short x;底层存储的二进制为 0000 0000 0001 0010 // 18

  2. 若short x = -101;求其三码
    原码:1000 0000 0110 0101 64 + 32 + 4 + 1
    反码:1111 1111 1001 1010
    补码:1111 1111 1001 1011

  3. short x;底层存储的二进制为 1111 1111 1111 0010
    已知补码是:1111 1111 1111 0010
    得到反码: 1111 1111 1111 0001
    得到原码: 1000 0000 0000 1110  -14(最高位的1表示十负数,后续表示的是绝对值)

浮点型

浮点型存储原理

形式:double/float 变量名 = 数值eN;
含义:方便移动小数点位置
备注:e(固定写法)表示以10为底数,N(填数值,正数负数都可以)表示次幂。

字符型

核心字符 对应的ASCII
‘\0’ 0
‘\n’ 10
‘ ’ //空格字符 32
‘0’ 48
‘A’ 65
‘a’ 97

标签:反码,--,补码,数据类型,C语言,1111,0000,原码
From: https://www.cnblogs.com/Taylor-demo/p/18341908

相关文章

  • Unity游戏开发之【输入管理器设计】 第二章
    上一章把输入管理器各个模块基本功能和简单的代码逻辑已经讲述了,本章就以移动摇杆的功能实现,把整个【输入管理控制器】的代码给大家讲述一遍上一章内容连接:Unity游戏开发之【输入管理器设计】第一章以下包括摇杆功能实现和输入控制系统的代码。代码按照逻辑顺序进行整理......
  • LeetCode | 141 linked list cycle
    https://github.com/dolphinmind/datastructure/tree/datastructure-linkedlist分析证明过程基本假设假设环的长度为(C)假设从链表的头部到环的入口点的距离为(A)假设从环的入口点到快慢指针第一次相遇点的距离为(B)假设从快慢指针第一次相遇点回到环的入口点的距离为(C......
  • Springboot计算机毕业设计成都医学院学生实习管理系统的设计与实现
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表学生,实习单位,实习总结,考勤打卡,实习信息,实习评价,学生沟通,单位沟通,学生简历开题报告内容一、研究背景与意义随着社会的发展和医学教育的不断进步,实习已......
  • Springboot计算机毕业设计超市进销存管理系统7cq1l
     本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,商家,商品分类,商品信息,商品库存,商品入库,商品出库,在线留言,通知公告开题报告内容一、摘要本文旨在设计并实现一个超市进销存管理系统,该系统通过集成......
  • P6601
    我们发现每一时刻的小球位置只可能有两种,这和它瞬移的次数有关。在每个时刻内,都有两种可能的方案。对于每个时刻瞬移次数为奇数的概率就是\(\sum_{i=0}^{t}{n\choosei}p^{i}*(1-p)^{t-i}[i\%2==1]\),偶数就是\(\sum_{i=0}^{t}{n\choosei}p^{i}*(1-p)^{t-i}[i\%2==0]\)根......
  • 蒙特卡洛模拟(3)————求解有约束的非线性规划问题
    目录前言一、问题提出二、蒙特卡罗模拟的大体思路1.求出每个变量的大致范围2.生成随机数进行模拟试验三、手动计算每个变量的大致范围1.处理等式问题————进行降维2.处理不等式问题————得到大致范围(1)先处理简单的约束,得到变量范围(2)对复杂的约束进行放缩,得到变量范围四、代......
  • 小迪安全-Web攻防-文件上传-JS验证&mime&user.ini&语言特性
    一、知识点1、文件上传-前端验证2、文件上传-黑白名单3、文件上传-user.ini妙用4、文件上传-PHP语言特性二、详细点1、检测层面:前端,后端前置:后门代码需要用特定格式后缀解析,不能以图片后缀解析解析脚本后门代码(解析漏洞除外)如:JPG图片里面有PHP后门代码,不能被触发,所以连......
  • 算法题之旋转链表
    旋转链表给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。示例1:输入:head=[1,2,3,4,5],k=2输出:[4,5,1,2,3]示例2:输入:head=[0,1,2],k=4输出:[2,0,1]提示:链表中节点的数目在范围 [0,500] 内-100<=Node.val<=1000<=k<=......
  • 【资产负债表】用友U8资产负债表不平的解决方案
    0.确认在制表前是否进行了期间损益结转其会计含义为:损益类费用要结转到本年利润中1.存货科目计算公式修改存货科目的计算公式中加入生产成本(5001)与制造费用(5101)两项其会计含义为:成本类的费用要分摊到生产成本中2.未分配利润期末余额计算公式修改如果会计期间内利润分配(41......
  • 【机器学习算法基础】(基础机器学习课程)-11-k-means-笔记
        示例案例为了更好地理解K-Means算法,下面通过一个简单的案例进行说明。假设我们有以下10个二维数据点,表示不同商店的销售额(单位:千元)和顾客数(单位:人):[(10,100),(20,80),(30,70),(40,60),(50,50),(60,40),(70,30),(80,20),(90,10),(......