C语言之基本数据类型和数

目录

算数类型和基本数据类型

 基数

 基数转换

由八进制数、十六进制数、二进制数向十进制数转换

由十进制数向八进制数、十六进制数、二进制数转换

二进制和十六进制的基数转换


在学习基本数据类型之前我们先来学习数。

算数类型和基本数据类型

在前面的学习中我们可以使用int型double型的变量及常量进行加减等算数运算,这种数据类型称为算数类型(arithmetic type)。算数类型是多种数据类型的统称,大体上分为两种类型:

整数类数据类型(integral type):只表示整数

浮点型类(floating type):可表示具有小数部分的数值。

 

整数类型数据是以下数据类型的统称:

枚举型:下一节将会介绍

字符型:表示字符

整型:表示整数

字符型、整形和浮点型只需要使用int或double等关键字就能表示其他数据类型,因此将它们统称为基本数据类型(basic type)


 基数

先来学习整数:我的二伯出生于1963年,这种数值很常见,是以10为基数的十进制数。

在表示数值时,基数是进位的标准。基数为10的十进制数每逢10或10的倍数进位。

 十进制数是我们日常生活中用到的,但对于计算机,所有的数据都是用NO/OFF信号(1和0)表示的。

就接近底层的硬件程序来说,使用二进制数更加适宜,但也存在位数过多的缺点,所以写法上还存在八进制数与十六进制数。

在十进制数中,如果以下10中数字都用完了,就进位为10

0 1 2 3 4 5 6 7 8 9

 如果两位的10—99也用完了,就进位为100

在八进制中用完以下8种数字后就进位为10

0 1 2 3 4 5 6 7

 如果两位的10—77也用完的话,就进位为100

在十六进制数中用完以下16种数字后,F后面的数就是10

0 1 2 3 4 5 6 7 8 9 A B C D E F

 如果10—FF也用完了,还会再进一位,变为100

如下所示,用0—20分别用八进制、十进制、十六进制数表示:

八进制数:1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23  24

十进制数:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

十六进制数:0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 13 14

 二进制只使用0和1两种数字进行表示数值,十进制的0—13用二进制表示就是:

0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101

 基数转换

下面我们学习不同基数间的整数值的相互转换方法

由八进制数、十六进制数、二进制数向十进制数转换

十进制数的每一位都是10的指数幂,所以1998可以理解为:

1998=1*10^3+9*10^2+9*10^1+8*10^0

将这个思路转换到八进制数、十六进制数、二进制数上就能轻松将这些数据转换为10进制数

举例说明:将八进制数123转化为十进制数        

将十六进制数1FD转换为十进制数

将二进制数101转换为十进制数

由十进制数向八进制数、十六进制数、二进制数转换

二进制数有以下规律:

偶数的末位数字为0

基数的末尾数字为1

也就是说,用转化的数除以2所得到的余数就是末位数字的值

例如,十进制数57除以2的余数为1,那么转换为二进制数的末位数字就是1.

我们先对“十进制数转换为十进制数”的方法进行说明,一个数除以10的余数,与这个数的末尾数字相等,例如1962除以10的余数为2,得到196,再除以10余数为6,得到19,再除以10余数为9,得到1,再除以10时,余数为1,商为0停止。

最后将所得到的余数进行逆向排列就可以得到转换后的十进制数。

将10改为2,就是十进制数转换为二进制数的方法了,现在我们用十进制数57转化为二进制数

对于八进制数、与十六进制数也是一样,只是把除数换为8和16而已

例如将57转化为八进制数为71,转化为十六进制数为39


二进制和十六进制的基数转换

二进制数      十六进制数                      二进制数      十六进制数 

0000                    0                                1000                 8

0001                    2                                1001                 9

0010                    3                                1010                 A

0011                    4                                1011                 B

0100                    5                                1100                C

0101                    6                                1101                D

0110                     7                                1110                E

0111                     8                                 1111                F


4位二进制数和1位十六进制数是相互对应的

当我们需要将二进制数转换为十六进制数时,只需每隔开四位,分别转换为1位的十六进制数,从右到左划分,奇数位补0变位4位。

要将十六进制数转换为二进制数,只需反过来操作即可。

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

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

相关文章

html 中vue3 的setup里调用element plus的弹窗 提示

引入Elementplus之后&#xff0c;在setup&#xff08;&#xff09;方法外面导入ElMessageBox const {ElMessageBox} ElementPlus 源码 &#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"><!-- import Vue before Elemen…

外包干了3个月,技术退步明显.......

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

Web前端 ---- 【Vue】Vue路由传参(query和params)

目录 前言 为什么用路由 路由route和路由器router Vue中路由的工作原理 安装配置vue-router 使用VueRouter 多级路由 路由传参 query传参 params传参 前言 本文介绍路由相关知识路由传参 为什么用路由 为了单页面应用开发&#xff0c;只更换组件&#xff0c;不频繁刷…

【C语言】字符串函数及其模拟实现

这是最好的时代&#xff0c;这是最坏的时代&#xff0c;我们一无所有&#xff0c;我们巍然矗立 本文由睡觉待开机原创&#xff0c;未经允许不得转载。 本内容在csdn网站首发 欢迎各位点赞—评论—收藏 如果存在不足之处请评论留言&#xff0c;共同进步&#xff01; 系列文章目录…

Apache Flink(十三):Flink History Server

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

[论文阅读]BEVFusion

BEVFusion BEVFusion: A Simple and Robust LiDAR-Camera Fusion Framework BEVFusion&#xff1a;简单而强大的激光雷达相机融合框架 论文网址&#xff1a;BEVFusion 论文代码&#xff1a;BEVFusion 简读论文 论文背景&#xff1a;激光雷达和摄像头是自动驾驶系统中常用的两…

【LeetCode每日一题】1904. 你完成的完整对局数

给你两个字符串 startTime 和 finishTime &#xff0c;均符合 "HH:MM" 格式&#xff0c;分别表示你 进入 和 退出 游戏的确切时间&#xff0c;请计算在整个游戏会话期间&#xff0c;你完成的 完整对局的对局数 。 如果 finishTime 早于 startTime &#xff0c;这表示…

机器视觉系统选型-线光源分类及应用场景

标准线光源 从线性LED的发光面照射漫射光 玻璃划痕检测印刷字符检测手机屏幕检测PCB板检测 高亮线光源 从线性LED的发光面照射高亮度漫射光高速流水线检测表面印刷检测表面缺陷检测 集光型线光源 从线性LED的发光面照射直射光划痕缺陷检测印刷字符检测布料检测 同轴线光源 与相…

微搭低代码实现登录注册功能

目录 1 创建用户数据源2 实现登录逻辑3 搭建登录页面4 设置登录框5 实现登录的逻辑6 用户注册总结 原来产品在创建应用的时候可以创建模型应用&#xff0c;模型应用对应我们小程序的后端。最新的更新已经将模型应用的能力下线&#xff0c;那我们不得不自己实现一下后端的逻辑。…

yo!这里是Linux信号相关介绍

目录​​​​​​​ 前言 基本介绍 概念 信号列表 信号处理 产生(发送)信号 通过按键产生 系统函数产生 软件条件产生 硬件异常产生 阻塞信号 信号状态 sigset_t 状态相关函数 1.sigprocmask 2.sigpending 捕捉信号 内核态与用户态 捕捉过程 sigaction 后…

Java面向对象思想以及原理以及内存图解

文章目录 什么是面向对象面向对象和面向过程区别创建一个对象用什么运算符?面向对象实现伪代码面向对象三大特征类和对象的关系。 基础案例代码实现实例化创建car对象时car引用的内存图对象调用方法过程 成员变量和局部变量作用范围在内存中的位置 关于对象的引用关系简介相关…

1.4 Postman的安装

hello大家好&#xff0c;本小节我们来安装一下Postman&#xff0c;好为我们后续的测试工作做准备。 首先&#xff0c;打开Postman的官网Postman API Platform 然后根据同学们自己电脑的操作系统来下载对应的Postman安装包。我这里拿windows来举例。我们点击windows的图标 会跳…

初识计算机网络

网络通信基础 1. IP地址2.端口号3.认识协议3.1协议分层 4. 网络数据传输的基本流程4.1 五元组4.2封装和分用 1. IP地址 IP地址主要用于表示网络主机,其他网络设备的网络地址,IP地址用于定位主机的网络地址 比如:发送快递的时候,需要知道对象的收货地址,才能将包裹送到目的地. …

Android:The emulator process for AVD Pixel_2_API_29 was killed

The emulator process for AVD Pixel_2_API_29 was killed 报错描述&#xff1a; 第一次安装Android studio好不容易解决gradle启动模拟器又出现了以下错误 The emulator process for AVD Pixel_2_API_29 was killed原因一&#xff1a; 需要安装Intel x86 Emulator Acceleer…

[GPT]Andrej Karpathy微软Build大会GPT演讲(下)--该如何使用GPT助手

该如何使用GPT助手--将GPT助手模型应用于问题 现在我要换个方向,让我们看看如何最好地将 GPT 助手模型应用于您的问题。 现在我想在一个具体示例的场景里展示。让我们在这里使用一个具体示例。 假设你正在写一篇文章或一篇博客文章,你打算在最后写这句话。 加州的人口是阿拉…

大数据技术之Hive(超级详细)

第1章 Hive入门 1.1 什么是Hive Hive&#xff1a;由Facebook开源用于解决海量结构化日志的数据统计。 Hive是基于Hadoop的一个数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张表&#xff0c;并提供类SQL查询功能。 本质是&#xff1a;将HQL转化成MapReduce程序 …

基于ssm社区管理与服务的设计与实现论文

目录 摘 要 1 Abstract 2 第一章 绪论 3 1.1研究背景 3 1.2 研究现状 3 1.3 研究内容 4 第二章 系统关键技术 5 2.1 Java简介 5 2.2 MySql数据库 5 2.3 B/S结构 6 2.4 Tomcat服务器 6 第三章 系统分析 7 3.1可行性分析 7 3.1.1技术可行性 7 3.1.2经济可行性 7 3.1.3运行可行性…

死锁(面试常问)

1.什么是死锁 简单来说就是一个线程加锁后解锁不了 一个线程&#xff0c;一把锁&#xff0c;线程连续加锁两次。如果这个锁是不可重入锁&#xff0c;会死锁。两个线程&#xff0c;两把锁。 举几个例子&#xff0c;1.钥匙锁车里了&#xff0c;车钥匙锁家里了。2. 现在有一本书…

Dockerfile介绍

1. DockerFile介绍 dockerfile是用来构建docker镜像的文件&#xff01;命令参数脚本&#xff01; 构建步骤&#xff1a; 1、编写一个dockerfile文件 2、docker build 构建成为一个镜像 3、docker run运行镜像 4、docker push发布镜像&#xff08;DockerHub、阿里云镜像仓库…

CV计算机视觉每日开源代码Paper with code速览-2023.12.8

点击计算机视觉&#xff0c;关注更多CV干货 论文已打包&#xff0c;点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【显著目标检测】Texture-Semantic Collaboration Network for ORSI Salient Object Detection 论文地址&#xff1a;https://arxiv.org//pdf/…