数据表示和进制转换

输入计算机的数字、字符、符号等信息必须转换成0、1组合的数据形式才能被计算机接收、存储并进行运算。能够进行算术运算并且得到明确的数值的数据概念的信息叫数值数据,其余的信息成为非数值数据。

权:每位数的数值。

基数:指该进位制中允许选用的数码的个数。

数值数据的表示

数值数据的计数方式是进位制,方式按进位的方式计数的数制都叫进位制。用有限的数码表示,例如二进制、八进制、十进制、十六进制。

二进制

基数为2的进制叫二进制,只有0和1两种数码,逢二进一,英文缩写BIN(前缀是0b)。

数据的最小单位:bit位

数据的基本单位:byte字节

1 Byte = 8 bit

1 KB = 1024 Byte

1 MB = 1024 KB

1 GB = 1024 MB

1 TB = 1024 GB

1 PB = 1024 TB

二进制转换成十进制

0b 1010 = 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 8 + 2 = 10

0b 1111 = 1*2^3 + 1*2^2 + 1*2^1 + 1*2^0 = 8 + 4 + 2 + 1 = 15

十进制转换成二进制

短除法

除以2取余数,逆序排列,高位补零

例如:100

100/2 = 50 …… 0

50/2 = 25 …… 0

25/2 = 12 …… 1

12/2 = 6 …… 0

6/2 = 3 …… 0

3/2 = 1 …… 1

1/2 = 0 …… 1

得出二进制数据:0b 0110 0100

拆分法

例如:

74=64+8+2 = 0b 0100 1010

计算器

八进制

基数为8的进制称为八进制,0、1、2、3、4、5、6、7作为码数,逢八进一,英文缩写OCT。(前缀是:0)

八进制转换成十进制

例如:

0177 = 1*8^2 + 7*8^1 + 7*8^0 = 127

十进制转换成八进制

可以通过短除法,像十进制转换成二进制一样;或者先转换成二进制,再转换成八进制(三位二进制数据转换成一位八进制数据)。

二进制转换成八进制

每三位二进制就转换成一位八进制,2^3 = 8

例如:

二进制:0111        八进制:7

二进制:1000        八进制:10

八进制转换成二进制

每一位八进制代表三位二进制,从低位(也就是右边)开始转换,如果不满三位则在左边补零。

例如:

八进制:026            二进制:0b 0001 0110

八进制:04561        二进制:0b 1001 0111 0001

十进制

基数为10的进制叫十进制,0、1、2、3、4、5、6、7、8、9作为码数,逢十进一,英文缩写为:DEC(没有前缀)。

例如:

123 = 1*10^2 + 2*10^1 + 3*10^0

十六进制

基数为16的进制叫十六进制,0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F作为码数,逢十六进一,英文缩写为:HEX(前缀为:0x)。

十六进制转换成十进制

例如:

0x4A = 4*16^1 + 10*16^0 = 64 + 10 = 74

二进制转换成十六进制

每四位二进制能够转换成一位十六进制,2^4 = 16

例如:

二进制:1111            十六进制:F

二进制:1 0000        十六进制:10

十六进制转换成二进制

一位十六机制可以转换成四位二进制,从低位也就是右边开始转换,如果不满四位则左边补零。

例如:

十六进制:A5E1        二进制:0b 1010 0101 1110 0001

非数值数据表示

计算机中数据的概念是广义的,计算机内除了前面提到的数值数据之外,还有文字、符号、图像、语言和逻辑信息等,它们被称为非数值数据,但是它们也是由0、1形式存在的。

字符数据

字符数据主要是指数字、字母、通用符号和控制符号等等,都被计算机内部转换成能够识别的二进制编码形式,国际上普遍采用的一种编码是美国国家信息交换标准代码,简称ASCII,英文全称为American Standard Code Information Interchange,可以用man ascii查阅到该表。

"0"、'0'、0和'\0'的区别

"0"        字符串0

'0'         字符0,对应ASCII码为48

0          数字0

'\0'        空字符

常用字符

'\0'        0           空字符,字符串结束的标志

'\n'       10          换行

'  '        32          空格

'0'        48          字符0

'9'        57          字符9

'A'        65          大写字母A

'Z'        90          大写字母Z

'a'        97          小写字母a

'z'        122        小写字母z

转换

'0' - 48 = 数字0

'9' - 48 = 数字9

大写字母 + 32 = 小写字母

小写字母 - 32 = 大写字母

词法符号

词法符号就是由若干字符组成的有意义的最小语法单位。按照词法符号在程序中的功能,可以分为:关键字、标识符、运算符、分隔符标点符号

关键字

关键字是由系统预定义好的词法符号,有特定的含义,不允许用户重新定义。基本的关键字有存储类型、数据类型、控制语句还有其他的一些关键字。

存储类型

auto(自动型)、static(静态型)、extern(外部引用)、register(寄存器类型)

数据类型

char(字符型)、short(短整型)、int(整型)、long(长整型)、float(单精度浮点型)、double(双精度浮点型)、signed(有符号型)、unsigned(无符号型)、struct(结构体)、union(共用体)、enum(枚举)、void(空类型)

控制语句

if、else、while、do、for、switch、case、default、break、continue、goto、return

其他

sizeof(计算数据所占空间大小)、const(声明只读变量)、typedef(重命名)、volatile(防止编译器优化)

标识符

标识符是由程序员按照命名规则自定义的词法符号,用于宏定义名,变量名,函数名和自定义类型名。

C语言标识符命名规则如下:

  1. 由数字、字母和下划线组成
  2. 标识符第一个字符是字母或者下划线
  3. 不能和关键字重复

注意:大小写敏感,命名有一定的含义,便于记忆,能够增加可读性。

运算符

运算符是表示运算的词法符号,可以按功能分为:算术运算符逻辑运算符关系运算符赋值运算符位运算符其他运算符

  1. 算数运算符:+  -  *  /  %  ++  --
  2. 赋值运算符:=  +=  -=  *=  /=  %=
  3. 关系运算符:>  >=  <  <=  ==  !=
  4. 逻辑运算符:&&  ||  !
  5. 位运算符:&  |  ~  ^  <<  >>

分隔符

分隔符是用来分隔其他词法符号的,主要包括:空格制表符换行符注释。通过对分隔符的恰当使用,能够让代码的外观格式更加清晰易读,代码结构清晰能够帮助分析程序中的语法错误。

标点符号

C语言中的标点符号有逗号分号冒号花括号圆括号。标点符号的作用与分隔符相似,但是用法非常严格,有明确的语法规定。有一些标点符号在程序的表达式中充当运算符使用。

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

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

相关文章

Python遍历读取 A 文件夹中的 A1、A2、A3、A4、A5 中的各子文件夹中的图片,并对每张图片处理后保存到指定路径

目录 一、具体步骤二、文件夹目录结构样例三、代码四、实例遍历处理后结果五、总结 一、具体步骤 首先&#xff0c;指定 A 文件夹的路径和重命名后的文件夹路径。 然后&#xff0c;遍历 A 文件夹中的各子文件夹。 在每个子文件夹中&#xff0c;遍历所有文件。 读取每个文件&am…

数据库分区分表

分区分表 为什么要分库分表 软件时代&#xff0c;传统应用都有这样一个特点&#xff1a;访问量、数据量都比较小&#xff0c;单库单表都完全可以支撑整个业务。随着互联网的发展和用户规模的迅速扩大&#xff0c;对系统的要求也越来越高。因此传统的MySQL单库单表架构的性能问…

ElasticSearch 性能优化

提升写入性能 使用 bulk 接口批量写入 节省重复创建连接的网络开销通过进行基准测试来找到最佳的批处理数量 延长 refresh 的时间间隔 通过延长 refresh&#xff08;刷新&#xff09;的时间间隔可以降低段合并的频率&#xff0c;段合并十分耗费资源默认的刷新频率为1s&…

羊大师讲解,羊奶为什么更适合高血压人群?

羊大师讲解&#xff0c;羊奶为什么更适合高血压人群&#xff1f; 高血压是一种常见的健康问题&#xff0c;它会引起诸多并发症并增加心脑血管疾病的风险。与此同时&#xff0c;人们越来越关注饮食对健康的影响。作为一种营养丰富且适合高血压人群的饮品&#xff0c;羊奶备受关…

HTML 基础

文章目录 01-标签语法标签结构 03-HTML骨架04-标签的关系05-注释06-标题标签07-段落标签08-换行和水平线09-文本格式化标签10-图像标签图像属性 11-路径相对路径绝对路径 12-超链接标签13-音频14-视频 01-标签语法 HTML 超文本标记语言——HyperText Markup Language。 超文本…

windows server 2022 启用SYN攻击保护

2023.12.28 SYN攻击是什么&#xff1a; SYN攻击是黑客攻击的常用手段&#xff0c;也是最容易被利用的一种攻击手法&#xff0c;属于DDoS攻击的一种。它利用TCP协议缺陷&#xff0c;通过发送大量的半连接请求&#xff0c;耗费CPU和内存资源。 SYN攻击包括大量TCP连接的第一个包&…

MO 2023 年度回顾

PART-ONE 行业态势 随着供需关系的变化&#xff0c;数据库的竞争在经历了 3 年 “百花齐放” 般的发展后&#xff0c;终于在 2023 年进入到了一个相对收拢的阶段。 2023 年&#xff0c;各个数据库厂商间很有默契地在两个方面达成了一致&#xff1a; HTAP 已经成为新一代数据…

nginx下upstream模块详解

目录 一&#xff1a;介绍 二&#xff1a;特性介绍 一&#xff1a;介绍 Nginx的upstream模块用于定义后端服务器组&#xff0c;以及与这些服务器进行通信的方式。它是Nginx负载均衡功能的核心部分&#xff0c;允许将请求转发到多个后端服务器&#xff0c;并平衡负载。 在upst…

【每日论文阅读】单目深度估计 近期进展

红外场景单目深度估计的难点 缺乏准确的深度参考标准&#xff1a;红外场景下的深度估计通常需要依赖于大量的输入图像和对应的深度值作为训练的约束。然而&#xff0c;获取准确的深度参考标准是一个挑战&#xff0c;目前常用的方法是使用红外传感器&#xff08;如Kinect&#…

antv/x6_2.0学习使用(二、画布)

画布 一. 创建容器 在页面中创建一个 div 标签&#xff0c;用来容纳画布 <div id"container"></div>画布常用配置信息 const graph new Graph({container: graphRef.value, // 画布容器width: 800, // 画布宽度&#xff0c;默认使用容器宽度height:…

看板表格样式,去掉element表格背景

<div class"ml-20"><el-input v-model.trim"queryParams.wipOrderNo" size"small" clearable style"width:150px" placeholder"请输入工单号" /><el-select class"ml-20" v-model"queryParam…

QT的坐标系统,回收机制、菜单栏,工具栏,状态栏,对话框及资源文件

QT的坐标系统&#xff0c;回收机制、菜单栏&#xff0c;工具栏&#xff0c;状态栏&#xff0c;对话框及资源文件 文章目录 QT的坐标系统&#xff0c;回收机制、菜单栏&#xff0c;工具栏&#xff0c;状态栏&#xff0c;对话框及资源文件1、QT的坐标系统&#xff1f;2、对象模型…