C语言初阶——6.进制

1. 进制

百度百科:
进制也就是进位计数制,是人为定义的带进位的计数方法,对于任何一种进制—X进制,就表示每一位置上的数运算时都是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制是逢二进一,以此类推,x进制就是逢x进位。

  • 基数与权

基数是计数值制所用到的数字符号的个数,在基数为R的计数制中包含0 1 2…R-1,共R个数字符号。进位规律是逢R进一,称为R进制位权是指在一种进位计数制表示的数中,用来表示不同数位上数值的大小的一个固定常数,不同的数位有不同的位权,某一个数位的数值等于这一位的数字符号乘上该数的位权。例如:

2. 转换

十进制转换成R进制用短除法,电脑的计算器通常具有进制转化功能。

3. 运算

NO. 进制 数码 进位条件
1 二进制 01 逢二进一
2 八进制 01234567 逢八进一
3 十进制 0123456789 逢十进一
4 十六进制 0123456789ABCDEF 逢十六进一

ASCII码就是被普遍采用的一个英文字符信息编码方案,它用8位二进制数表示各种字母和符号

  • 计算机为什么使用二进制、八进制、十六进制?
  1. 实现容易:电路中的状态容易表示0和1(开与关、亮与灭、高与低)。
  2. 可靠性高:0和1两个数字传输和处理不易出错。
  3. 运算简单:与十进制数相比,二进制数的运算规则要简单。
  4. 适合逻辑:0和1与逻辑代数中的真和假相吻合。
  5. 易于转换:二进制与十进制数易于互相转换。

由于二进制数据的基数较小,所以二进制数据的书写和阅读不方便。
每个数码正好对应三位二进制数,所以八进制能很好地反映二进制。
由于二进制数在使用中位数太长,不容易记忆,所以又提出了十六进制数。

  • 其他进制(7进制、60进制、24进制、30进制、365进制)

  • 中国古代的十六进制?–半斤八两

4. C语言中的进制

4.1 进制常量表示

C语言不能直接表示二进制常量。八进制数字以0开头,十六进制数字以0x0X开头。

  • 试一试
int a = 08;
int b = 09;
printf("%o%o",a,b);
4.2 输入输入
4.2.1 进制打印

打印32以内的十进制、八进制、十六进制对应表。

for(int i=0;i<32;++i){printf("%d\t%#o\t%#x\n",i,i,i);
}

进制的输出其实与字符输出是一样的,根据占位符的不同输出不同。

char a = 'a';
printf("%c\t%d\t%#o\t%#x\n",a,a,a);
4.2.1 输入进制数据
int n;
scanf("%o",&n);
printf("%d\n",n);
scanf("%x",&n);
printf("%d\n",n);
scanf("%d",&n);
printf("%d\n",n);
scanf("%i",&n);
printf("%d\n",n);

C语言初阶——6.进制相关推荐

  1. C语言初阶:进制,计算机的美丽语言

    文章目录 1. 进制是什么 2. 进制的转换 3. 计算机自己的想法 4. C语言中的进制 1. 进制是什么 进制也就是进位计数制 基数与权: 二进制中0和1就是基数,2的次方数就是权,也就是位数 2 ...

  2. C语言初阶_初识C语言(1)

    凡是过往,皆为序章 期末考试结束了,真是感慨良多啊...... C语言编程题大家都做对了多少呢? 不管怎么样,都已经过去了.不管你学得怎么样,都可以在接下来的时间里,我们一起重新回顾一遍C语言初阶的知 ...

  3. 五十分钟带你看遍C语言初阶语法(总纲)

    C语言初阶语法(总纲) 此篇博客包含了前面C语言所有的基础语法,写这一期的博客不仅是为了记录自己的学习成果也是为了让更多的朋友能学到对自己有用的知识,如果总有一个知识点帮助到了你,给卑微博主点点关注加 ...

  4. C语言初阶(18) | 数组详解

    目录 1.数组的定义 2.一维数组 2.1一维数组的格式 2.2一维数组的初始化 2.3一维数组的使用 2.4一维数组再内存中的存储 3.二维数组 3.1二维数组的创建和初始化 3.2二维数组的使用 ...

  5. C语言初阶作业题-数组

    C语言初阶作业题-数组 一.选择题 1.关于一维数组初始化,下面哪个定义是错误的?( ) A.int arr[10] = {1,2,3,4,5,6}; B.int arr[] = {1,2,3,4,5 ...

  6. C语言初阶——5.字符串

    C语言初阶--5.字符串 1. 字符串操作 1.1 字符串遍历 可以通过数组方式遍历字符串. char* str="Hello World"; for(int i = 0;'\0' ...

  7. c语言变量名必须用小写 常量用大写,day02 -C语言 常量 变量 数据类型 进制转换 数据溢出...

    常量 - 不会变化的数据 "hello" 'A' 10 3.14 #define PI 3.14 //采用宏定义的方法 定义一个常量 const int a = 10; 求圆的面积 ...

  8. 把16进制转换为ascii字符c语言,ASCII转16进制C语言

    满意答案 u2gseftj278 推荐于 2016.03.01 采纳率:56%    等级:11 已帮助:14340人 以前引别人的,自己懒得再写了呵呵.原理就是这样的,你可以直接用的 //函 数 名 ...

  9. C语言初阶第三篇:换我心,为你心,始知C语言 从C语言选择语句到循环语句保姆教学来喽

    换我心,为你心,始知C语言 老铁们,咱们上一篇文章把字符串的知识点给过了一遍,今天就要开始真正的程序语句的学习了,也就是选择语句和循环语句,今天的内容比较简单,所以写的也不多,废话不多说,咱们开始吧! ...

最新文章

  1. 每天进步一点之C\C++
  2. MySQL 全局锁和表锁
  3. “猜你喜欢” — 浅谈内容分发中的推荐系统
  4. LOJ #6669 Nauuo and Binary Tree (交互题、树链剖分)
  5. 查找算法——折半查找(JAVA)
  6. 设置固定长度_加气块砌筑(构造柱、圈梁设置)技术交底21条
  7. 微信小程序基于scroll-view实现锚点定位
  8. linux系统论文题目大全_操作系统专业论文选题 操作系统毕业论文题目如何定
  9. Quartz 定时器 定时任务
  10. html实现图片轮播切换箭头,最简单jquery实现带左右箭头和数字焦点的图片轮播...
  11. 科研心态那些事-不积跬步无以至千里
  12. 计算机服务器地址在哪里查,查看电脑服务器id地址
  13. 阿里云创世纪之盘古传奇
  14. JqGrid 表格基本使用(一)
  15. 安卓设备逐步升级Android 9,游戏产品该如何做适配?
  16. MATLAB 中nargin函数
  17. 升级打怪课堂的题库更新了!
  18. OpenPortal认证系统 界面展示
  19. 【NOIP模拟赛】七夕祭(环形均分纸牌)
  20. java.lang.NoSuchMethodException: com.xxx.xxx.xxxinit()

热门文章

  1. Smokeping安装教程
  2. 【大数据千人会微信群20140827期交流纪要】傅志华-大数据如何在企业落地
  3. lableme json转化为图片常用的脚本
  4. Transformer T5 模型慢慢读
  5. css字体样式渐变导致360浏览器vue兼容性问题
  6. 双搜----用两只眼睛看世界
  7. 《推荐系统实践》 第四章 利用用户标签数据 读书笔记
  8. 使用博图V15和KEPServerEX6软件进行OPC Server读取PLC数据仿真(对PLC数据采集和边缘计算程序测试的准备)
  9. 游戏服务器为什么老被攻击?被攻击了的一些常见的处理方法
  10. jfinal获取mysql_jfinal 调用mysql结果集-问答-阿里云开发者社区-阿里云