程序设计基础--C语言【一】

news2024/9/28 17:31:16

课堂笔记

1.整数数制

整数数制包括二进制数、八进制数、十进制数、十六进制数

1.1.十进制数

基数为10,由0到9这十个数构成。例如,4261可以看作是:

(4*1000)+(2*100)+(6*10)+(1*1)=

(4*10^3)+(2*10^2)+(6*10^1)+(1*10^0)=4261

1.2.二进制数

基数为2,由0和1这两个数构成。

★二进制数向十进制数转换

例如:100₂=4₁₀

解析:1    0    0   (二进制数)

            2    1   0     (对应位置)

(0*2^0)+(0*2^1)+(1*2^2)=4

二进制----十进制基数为2.

★十进制数向二进制数转换

​​​​例如:15₁₀=1111₂

解析:15用短除法一直除2,直到最后为0.

继续二进制的补充(由于计算机中用二进制数表示,在这里多些知识点)

★二进制补码表示

为了让正数负数的表示一致从而有了二进制的补码。

最左边为最高有效位,最右边为最低有效位。

二进制补码中,最高位是符号位:0表示正数,1表示负数。

正数的二进制补码和普通的二进制补码是一样的,负数则不然。

负数补码步骤:

  1. 写出该负数绝对值的二进制数
  2. 二进制数取反
  3. 加1

例如:-2的32位二进制补码表示

00000000000000000000000000000010(-2的绝对值)

1111111111111111111111111111111111101(取反)

                                                             +1(加一)

1111111111111111111111111111111111110(-2的二进制补码表示数)

-1的所有位均为1

最大的正值是除符号位是0,其他位都是1。

对n位来说,最大的正值是2^(n-1)-1

                    最小的负值是2^(n-1)

(上述公式由等比数列求和而得)

例如:n=8时,最大的正值是127最小的负值是-128

1.3.八进制数

基数为8,由0到7这八个数构成。

在C语言中,以0开头的数表示八进制的形式。

★八进制数向十进制数转换

例如:1025₈=533₁₀

解析:(5*8^0)+(2*8^1)+(0*8^2)+(1*8^3)=533

与二进制到十进制类同。

★十进制数向八进制数转换

例如:533₁₀=1025₈

解析:利用短除法除8,一直除到0为止。

与十进制到二进制类同。

★八进制数向二进制数转换

八进制中的每个数字写出对应的3位二进制数再组合。

例如:4261₁₀=0001000010100101₂

解析:1            0             2              4                5 (八进制表示)

        001         000         010          100            101  (二进制表示)

★二进制数向八进制数转换

二进制中的每三个分为一组写出对应的数值

将八进制向二进制转换的过程倒过来就是。

1.4.十六进制数

基数为16,数字由0到9构成,字母由A到F构成(大小写均可)

在C语言中,以0x开头的数表示十六进制的形式。

★十六进制数向十进制数转换

例如:10A5₁₆=4261₁₀

解析:(5*16^0)+(10*16^1)+(0*16^2)+(1*16^3)=4261

与二进制到十进制类同。

★二进制数向十六进制数转换

二进制中的每4个分为一组写出对应的数值

例如:0001000010100101₂=10A5₁₆

解析:1               0             A                5 (十六进制表示)

        0001        0000        1010          0101  (二进制表示)

★十六进制数向二进制数转换

十六进制中的每个数字写出对应的4位二进制数再组合。

将二进制向十六进制转换的过程倒过来就是。

★十六进制数向八进制数转换

先由十六进制转二进制

再由二进制每三个一组转成八进制

★八进制数向十六进制数转换

与上同理

先由八进制转二进制

再由二进制每四个一组转成十六进制

2.数据类型

2.1.引入

 数据类型: 基本类型、构造类型、指针类型、 空类型(void)。

                   基本类型:整型、实型(浮点型)、字符型(char)、枚举类型(enum)。

                              整型:基本整型(int)、长整型(long)、短整型(short)、无符号整型(unsigned)

                              实型(浮点型):单精度实型(float)、多精度实型(double)

                  

                  构造类型:数组类型、结构体类型(struct)、共用体类型(union)

2.2.类型修饰符

signed和unsigned可以用来修饰long int和short int,但不能修饰double和float。

有符号整型和无符号整型的区别:

无符号:最高位表示数据位

有符号:最高位表示符号位,即为:最高位0表示正数;最高位1表示负数。

当修饰符被单独使用时,则系统默认其为int。

如:signed表示signed int

       unsigned表示unsigned int

       long表示long int等。

int型数分配2个字节的存储空间,那么对于

有符号整数,由于最高位为符号位,所以最小值为-2¹⁵(-32768);最大为(32767)

无符号整数,由于最高位为数据位,所以最小值为0;最大为2¹⁶-1(62235)

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

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

相关文章

最简单的电子书制作方法

制作电子书的方法有很多种,但最简单的一种可能就是使用在线工具了。现在有很多免费的在线工具可以让您轻松地创建电子书,而无需任何编程或设计技能。以下是最简单的电子书制作方法: 1. 准备好制作工具:FLBOOK在线制作电子杂志平台…

内存管理 --- 页面置换算法

最优置换:(参照未来OPT) 可以将将来很长一段时间不会访问的逻辑页面,进行置换 举例说明: 首先物理空间只有4个,然后遍历了ABCD 页,其中,要访问5 e 了但是没有,即发生缺页…

登录凭证------

为什么需要登录凭证? web开发中,我们使用的协议http是无状态协议,http每次请求都是一个单独的请求,和之前的请求没有关系,服务器就不知道上一步你做了什么操作,我们需要一个办法证明我没登录过 制作登录凭…

【LLM】Advanced rag techniques: an illustrated overview

note 文章目录 noteAdvanced rag techniques: an illustrated overview基础RAG高级RAG分块和向量化(Chunking & Vectorisation)搜索索引(Search Index)1. 向量存储索引(Vector Store Index)2. 多层索引(Hierarchical Indices)3. 假设问题和HyDE(Hypo…

【笔记】全国大学生GIS应用技能大赛练习总结

该总结笔记为小组成员在练习完毕了历届题目后自我总结的结果,如有不足之处可以在评论区提出,排版较乱往谅解 绘制带空洞的面要素: 法一: 1、矢量化整个区域。2、矢量化空洞区域。3、将矢量化空洞区域进行合并(编辑器…

Linux之selinux详解

华子目录 概念作用selinux与传统的权限区别selinux工作原理名词解释主体(subject)目标(object)策略(policy)(多个规则的集合)安全上下文(security context) 文…

【数理统计实验(四)】方差分析

🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一|统计学|干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项,参与研究经费10w、40w级横向 文…

美洲狮优化算法(Puma Optimizar Algorithm ,POA)求解机器人栅格地图最短路径规划(提供MATLAB代码)

一、美洲狮优化算法 美洲狮优化算法(Puma Optimizar Algorithm ,POA)由Benyamin Abdollahzadeh等人于2024年提出,其灵感来自美洲狮的智慧和生活。在该算法中,在探索和开发的每个阶段都提出了独特而强大的机制&#xf…

java继承,接口,抽象类

目录 目录 1 继承的含义 2 继承的好处 3使类与类之间产生了关系。 看这里继承-------我的理解 代码部分 接口 代码 抽象类 代码 各位友友们大家好呀😊! 今天让我们继续回顾java,看看java中的抽象类以及接口继承是什么&#x1f914…

【动态规划】代码随想录算法训练营第三十九天 |62.不同路径,63.不同路径II(待补充)

62.不同路径 1、题目链接:. - 力扣(LeetCode) 2、文章讲解:代码随想录 3、题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右…

%xxx%的环境变量全部失效问题

现象 配置nvm环境变量时候, 我做了如下配置 home配置 NVM_HOMED:\nvm NVM_SYMLINKD:\nvm\nodejs然后配置了path 看上去没有任何毛病, 可是发现nvm -v总是提示命名不存在, 居然发现java -version命令也不存在了, 不过怎么关机重启都是无效, 后面发现直接把D:\nvm配置到path里…

[力扣 Hot100]Day49 二叉树的最近公共祖先

题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以…

通过Forms+Automate+Lists+审批,实现用车申请流程

因为Sham公司目前用的用车申请流程是使用的K2系统,用户申请后,我们还需要单独另行输入Excel来汇总申请记录,当然K2也能导出,但是需要每次导出也是很麻烦的,而且不灵活。 刚好最近发现Forms与Automate能联通&#xff0…

开源流程图表库(03):mxGrap-绘制图形的利器

hello,我是贝格前端工场,本期分享基于JavaScript的图形库——mxGraph,这个工具绘制的图表可以导出html使用,欢迎老铁们持续关注、点赞,有需求可以私信我们。 mxGraph是一款功能强大的JavaScript图形库,用于…

上手OpenMMLab——从零开始通过mmagic上手AIGC

上手OpenMMLab——从零开始通过mmagic上手AIGC 目录 上手OpenMMLab——从零开始通过mmagic上手AIGC**写在前面****MMagic简介与特性****环境搭建与初步探索****文本生成与编辑****图像生成与风格迁移****音频生成与语音合成****高级应用与案例分享** **总结****附录&#xff1a…

同时上内网和外网(笔记本自带的无线网卡和另外购置无线网卡)

同时上内网和外网 两无线网卡连接内外网插入新网卡后,重命名网卡名字信息收集IPv4属性设置永久路由 两无线网卡连接内外网 插入新网卡后,重命名网卡名字 两网卡同时连接网络,使用ipconfig /all 获取信息,整理如下: 下…

VB语言回忆录——到了是该放弃VB语言的时候了么

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 VB语言回忆录——到了是该放弃VB语言的时候了么 前言初次接触编程开始学习VB开始发挥作用版本变迁有感而发 前言 4年前(2020年),微软 NET…

leetcode必刷题 96.不同的二叉搜索树

一、问题描述: 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 二、解题思路: 二叉树是由根节点,左右子树组成的,二叉搜索树要…

Angular基础---HelloWorld---Day3

文章目录 0.ng-model 的几种不同的class属性1.ng-model 的引用与属性的调用2.表单验证: (模版引用变量、ngModel 、ngif一起使用)3.根据class属性的值ng-invalid ,设置动态变化的样式 0.ng-model 的几种不同的class属性 引用ng-model 元素的c…

C++:类和对象(三)——拷贝构造函数和运算符重载

目录 一、拷贝构造函数 1.概念 2.特性 二、赋值运算符重载 1.运算符重载 2.赋值运算符重载 (1)注意的点: (2)赋值运算符不允许被重载为全局函数,只能重载为类的成员函数 (3)…