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

这篇具有很好参考价值的文章主要介绍了C语言之基本数据类型和数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

算数类型和基本数据类型

 基数

 基数转换

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

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

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


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

算数类型和基本数据类型

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

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

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

 C语言之基本数据类型和数,C语言,c语言,数据结构,开发语言,c++,学习,算法

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

枚举型:下一节将会介绍

字符型:表示字符

整型:表示整数

字符型、整形和浮点型只需要使用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转化为十进制数        

C语言之基本数据类型和数,C语言,c语言,数据结构,开发语言,c++,学习,算法

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

C语言之基本数据类型和数,C语言,c语言,数据结构,开发语言,c++,学习,算法

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

C语言之基本数据类型和数,C语言,c语言,数据结构,开发语言,c++,学习,算法

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

二进制数有以下规律:

偶数的末位数字为0

基数的末尾数字为1

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

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

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

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

C语言之基本数据类型和数,C语言,c语言,数据结构,开发语言,c++,学习,算法

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

C语言之基本数据类型和数,C语言,c语言,数据结构,开发语言,c++,学习,算法

对于八进制数、与十六进制数也是一样,只是把除数换为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位。

要将十六进制数转换为二进制数,只需反过来操作即可。文章来源地址https://www.toymoban.com/news/detail-755923.html

到了这里,关于C语言之基本数据类型和数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言自定义数据类型(三)结构体指针

    所谓结构体指针就是指向结构体变量的指针,一个结构体变量的起始地址就是这个结构体变量的指针。如果把一个结构体变量的起始地址存放在一个指针变量中,那么,这个指针变量就指向该结构体变量。 目录 一、指向结构体变量的指针 1.1举例说明 二、指向结构体数组的指

    2024年02月06日
    浏览(48)
  • C语言自定义数据类型(二)使用结构体数组

    一个结构体变量中可以存放一组有关联的数据(如一个学生的学号、姓名、成绩等数据)。如果有 10 个学生的数据需要参加运算,显然应该用数组,这就是结构体数组。结构体数组与以前介绍过的数值型数组的不同之处在于每个数组元素都是一个结构体类型的数据,它们都分别

    2024年01月19日
    浏览(46)
  • R语言的数据类型与数据结构:向量、列表、矩阵、数据框及操作方法

    R语言拥有丰富的数据类型和数据结构,以满足各类数据处理和分析的需求。本文将分享R语言中的数据类型,包括向量、列表、矩阵、数据框等,以及它们的特点、用途和操作方法。 向量是R语言中最基本的数据结构,它可以存储单个数据类型的元素序列。向量具有固定的长度

    2024年03月11日
    浏览(46)
  • C语言自定义数据类型(一)定义和使用结构体变量

    C 语言提供了一些由系统已定义好的数据类型,如:int,float,char  等,用户可以在程序中用它们定义变量,解决一般的问题。 但是人们要处理的问题往往比较复杂,只有系统提供的类型还不能满足应用的要求,C语言允许用户根据需要自己建立一些数据类型,并用它来定义变

    2024年02月02日
    浏览(43)
  • 【数据结构】链栈的基本操作(C语言)

    零零总总搜索了一些关于链栈的资料,了解了链栈的基本操作,一直觉得别人写的代码或多或少存在一些问题,所以打算自己写一篇关于链栈的文章,也算是对所学知识的梳理和巩固了。 首先说明本文使用C语言进行链栈的基本操作,链栈是无头结点的。这里补充说明一下,

    2024年02月05日
    浏览(56)
  • 【数据结构】队列基本操作的实现(C语言)

    🚀 作者简介:一名在后端领域学习,并渴望能够学有所成的追梦人。 🐌 个人主页:蜗牛牛啊 🔥 系列专栏:🛹数据结构、🛴C++ 📕 学习格言:博观而约取,厚积而薄发 🌹 欢迎进来的小伙伴,如果小伙伴们在学习的过程中,发现有需要纠正的地方,烦请指正,希望能够与

    2024年02月16日
    浏览(48)
  • 掌握Go语言:Go语言类型转换,解锁高级用法,轻松驾驭复杂数据结构(30)

    在Go语言中,类型转换不仅仅局限于简单的基本类型之间的转换,还可以涉及到自定义类型、接口类型、指针类型等的转换。以下是Go语言类型转换的高级用法详解: Go语言类型转换的高级用法 1. 自定义类型之间的转换 在Go语言中,可以使用类型别名或自定义类型来创建新的

    2024年04月09日
    浏览(65)
  • 【数据结构】 链栈的基本操作 (C语言版)

    目录 一、链栈 1、链栈的定义: 2、链栈的优缺点: 二、链栈的基本操作算法(C语言)     1、宏定义   2、创建结构体 3、链栈的初始化   4、链栈的进栈 5、链栈的出栈 6、获取栈顶元素 7、栈的遍历输出 8、链栈的判空  9、求链栈的栈长 10、链栈的清空 11、链栈的销毁

    2024年01月24日
    浏览(48)
  • 【数据结构】顺序表基本操作的实现(C语言)

    🚀 作者简介:一名在后端领域学习,并渴望能够学有所成的追梦人。 🐌 个人主页:蜗牛牛啊 🔥 系列专栏:🛹数据结构、🛴C++ 📕 学习格言:博观而约取,厚积而薄发 🌹 欢迎进来的小伙伴,如果小伙伴们在学习的过程中,发现有需要纠正的地方,烦请指正,希望能够与

    2024年02月16日
    浏览(53)
  • 【100天精通python】Day6:python基础_基本数据结构,常用序列类型和运算符

    目录 目录 1 常用的序列类型 1.1 字符串(String)  1.2 列表(List) 1.3 元组 (Tuple)

    2024年02月14日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包