16进制加法 keil_C/C++编程笔记:C语言进制详解,二进制、八进制和十六进制

我们平时使用的数字都是由 0~9 共十个数字组成的,例如 1、9、10、297、952 等,一个数字最多能表示九,如果要表示十、十一、二十九、一百等,就需要多个数字组合起来。

例如表示 5+8 的结果,一个数字不够,只能”进位“,用 13 来表示;这时”进一位“相当于十,”进两位“相当于二十。

因为逢十进一(满十进一),也因为只有 0~9 共十个数字,所以叫做十进制(Decimalism)。十进制是在人类社会发展过程中自然形成的,它符合人们的思维习惯,例如人类有十根手指,也有十根脚趾。

46bdb46c7d6d4d7513e09cc94969fbbf.png

进制也就是进位制。进行加法运算时逢X进一(满X进一),进行减法运算时借一当X,这就是X进制,这种进制也就包含X个数字,基数为X。十进制有 0~9 共10个数字,基数为10,在加减法运算中,逢十进一,借一当十。

二进制

我们不妨将思维拓展一下,既然可以用 0~9 共十个数字来表示数值,那么也可以用0、1两个数字来表示数值,这就是二进制(Binary)。例如,数字 0、1、10、111、100、1000001 都是有效的二进制。

在计算机内部,数据都是以二进制的形式存储的,二进制是学习编程必须掌握的基础。本节我们先讲解二进制的概念,下节讲解数据在内存中的存储,让大家学以致用。

二进制加减法和十进制加减法的思想是类似的:

对于十进制,进行加法运算时逢十进一,进行减法运算时借一当十;

对于二进制,进行加法运算时逢二进一,进行减法运算时借一当二。

下面两张示意图详细演示了二进制加减法的运算过程。

1) 二进制加法:1+0=1、1+1=10、11+10=101、111+111=1110

17c27d41e11dbdfcc4567c34416a4a7f.png

图1:二进制加法示意图


2) 二进制减法:1-0=1、10-1=1、101-11=10、1100-111=101

dd1c71af33e785913891cd6df707b16a.png

图2:二进制减法示意图

八进制

除了二进制,C语言还会使用到八进制。

八进制有 0~7 共8个数字,基数为8,加法运算时逢八进一,减法运算时借一当八。例如,数字 0、1、5、7、14、733、67001、25430 都是有效的八进制。

下面两张图详细演示了八进制加减法的运算过程。

1) 八进制加法:3+4=7、5+6=13、75+42=137、2427+567=3216

e93eca93628b7bd8f00358a2e570018c.png

图3:八进制加法示意图

2) 八进制减法:6-4=2、52-27=23、307-141=146、7430-1451=5757

d32f43d13bb8b1af956c99c1572903fe.png

图4:八进制减法示意图

十六进制

除了二进制和八进制,十六进制也经常使用,甚至比八进制还要频繁。

十六进制中,用A来表示10,B表示11,C表示12,D表示13,E表示14,F表示15,因此有 0~F 共16个数字,基数为16,加法运算时逢16进1,减法运算时借1当16。例如,数字 0、1、6、9、A、D、F、419、EA32、80A3、BC00 都是有效的十六进制。

注意,十六进制中的字母不区分大小写,ABCDEF 也可以写作 abcdef。

下面两张图详细演示了十六进制加减法的运算过程。

1) 十六进制加法:6+7=D、18+BA=D2、595+792=D27、2F87+F8A=3F11

c35beb3966691673aa246e6d5c142e64.png

图5:十六进制加法示意图


2) 十六进制减法:D-3=A、52-2F=23、E07-141=CC6、7CA0-1CB1=5FEF

f211e82ee77fbea26ba0482a207294eb.png

图5:十六进制减法示意图


自学C/C++编程难度很大,不妨和一些志同道合的小伙伴一起学习成长!

C语言C++编程学习交流圈子,关注+私信【C/C++编程】微信公众号:C语言编程学习基地

有一些源码和资料分享,欢迎转行也学习编程的伙伴,和大家一起交流成长会比自己琢磨更快哦!希望对你有帮助!

fefa371f8c5c5bba130b24b9ea512dc9.png

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

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

相关文章

MySQL的索引是什么?怎么优化?

索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本。MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的。MySQL提供了Explain,用于显示…

git实现审核功能_一文教你如何搭建PDD分佣小程序实现财富自由

随着拼多多的火爆,很多淘客以各种方式通过推广拼多多商品获取返佣来月入万元,实现财富自由。只要你有流量或者足够努力,像其他淘客一样实现睡后过万财富自由不是梦。本文通过详细教程教你快速搭建属于自己的PDD分佣小程序,完成自己…

9型转x型 cobol_兰州一餐馆推鸳鸯牛肉面 9种面型一面多吃

来源标题:兰州一餐馆推鸳鸯牛肉面,清汤酸菜各一边还有9种面型,网友:能连吃三碗近日,位于甘肃兰州的一家牛肉面馆推出了鸳鸯牛肉面。一个大碗分隔为两边,一边是传统清汤牛肉面,另一边是酸菜牛肉面…

【算法系列之十三】二叉树两叶节点的最大距离

1、题目描述 给定一棵二叉树,计算这课二叉树的直径长度,即为二叉树任意两个节点间的最长路径。比如: 这棵二叉树的最长路径为3。 2、解题思路 使用递归进行求解,每次递归的过程中,先求出以某个节点为树根的二…

date比较大小 mybatis_Hibernate 和 MyBatis 哪个更好用?

Java大联盟帮助万千Java学习者持续成长关注作者|SylvanasSun郑沐兴https://zhuanlan.zhihu.com/p/21966051B 站搜索:楠哥教你学Java获取更多优质视频教程前言由于编程思想与数据库的设计模式不同,生出了一些ORM框架。核心都是将关系型数据库和…

简单的cpu飙升排查方法

1先来一段飙升代码 public class FindJavaThreadInTaskManager {public static void main(String[] args) {Thread thread new Thread(new Worker());thread.start();}static class Worker implements Runnable {Overridepublic void run() {while (true) {System.out.printl…

tortoisesvn创建部署项目_FrameWork如何进行云托管部署

介绍CloudBase Framework 是云开发官方出品的云原生一体化部署工具,可以帮助开发者将静态网站、后端服务和小程序等应用,一键部署到云开发 Serverless 架构的云平台上,自动伸缩且无需关心运维,聚焦应用本身,无需关心底…

修改背景图片_我花了5小时,为网易修改了一份内容超多的PPT,效果超级赞!!...

微信扫码观看全套Excel、Word、PPT视频作者:宋雪贤 来源:PPT进化论(ID:PPTjinhualun)哈喽,大家好,不知道您看过《我花了3个小时,为京东修改了一份PPT,效果好到惊人!》这篇案例修改文…

MySQL千万级别大表如何优化?

当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值…

命令测试post_【第2088期】前端中台化,把格局做大——NodeJS 和测试服务探索

前言今日早读文章由《React状态管理与同构实战》作者LucasHC投稿分享。正文从这开始~~近些年,「NodeJS 应该如何在公司业务中真实落地 」这类问题屡见不鲜。自从 2009 年 NodeJS 诞生之后,抢尽风头,圈粉无数。但一定有工程师不禁要质疑「Node…

Java 诊断工具 Arthas 常见命令

基本概念 云原生这么多微服务,当然需要一个诊断利器来排查问题。 Arthas 是阿里开源的 Java 诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪 Java 代码;实时监控 JVM 状态。Arthas 支持 JDK 6&#xff0c…

28和lba48命令格式区别_编译Sass(命令行)

本文作者:开课吧无忧图文编辑:开三金sass编译有很多种方式,如命令行编译模式、编辑器自动编译、编译软件koala、sass-loader等。今天我们就先来看第一种:命令行编译刚才我在test文件夹里面已经建立了一个style.scss文件&#xff0…

子窗体中组合框联动_一张表实现组合框联动

嗨,大家中午好!最近,有网友给我私信,想要一个联动的示例,一个有关于部门联动的操作。其实关于联动的操作有很多,可以是组合框的联动,列表框联动,组合框与列表框也可以联动&#xff0…

中如何实现文字转语音_录音转文字、文字转语音,学会这一招就够了!手把手教你如何操作...

阅读文章时候想着有人可以把文章读给我听就好了,写作时想着语音直接可以转换成文字就好了,大家是不是有时会突然冒出这样的想法?七十这些看似天真的想法,还真的有办法解决,这里就手把手教你如何操作才能将的文字转换成…

图像 理想低通滤波_图像处理之滤波(下)

[toc]目录一、常规滤波低通高通带通带阻二、非局部均值滤波三、维纳滤波四、卡尔曼滤波前言所谓滤波,其实就是从混合在一起的诸多信号中提取出所需要的信号。信号的分类:确定型信号,可以表示为确定的时间函数,可确定其在任何时刻的…

泰山行宫碧霞元君祠_临清市泰山行宫碧霞元君祠5月4号(农历三月三十日)举行大型泰山奶奶接驾法会...

临清是泰山奶奶的娘家,每年的四月泰山奶奶要回临清省亲临清市道教协会定于2019年农历三月三十(5月4号星期六)于临清桑树园泰山行宫碧霞元君祠举行大型泰山奶奶迎鸾接驾庙会。届时,将有架鼓会、云龙会、狮胞会、钢叉会、高跷会、天音会、彩船会、秧歌会等…

充分条件反过来是必要条件吗_“充分必要条件”引发的现实思考

昨天看了一篇文章是介绍“充分条件和必要条件”,大致就是A能直接推导出B,那A就是B的充分条件。A不一定能推导出B,但是没A一定推导不出B,那A就是B必要条件。举个简单的例子:对你好(A)与喜欢你&am…

手机游戏降低游戏延迟的软件_怎么降低手机网络延迟(减少网络延迟的5个小技巧)...

在过去的几十年里,用户或开发人员并不担心延迟。在上世纪90年代和本世纪初,个人互联网连接速度要慢得多,因此发送请求和接收响应之间的延迟要远远小于下载完成所需的时间。如今,更高的带宽连接使下载速度更快,因此延迟…

mysql极客_极客mysql16

1.MySQL会为每个线程分配一个内存(sort_buffer)用于排序该内存大小为sort_buffer_size1>如果排序的数据量小于sort_buffer_size,排序将会在内存中完成2>如果排序数据量很大,内存中无法存下这么多数据,则会使用磁盘临时文件来辅助排序&a…

linux 测试环境启用jar_Linux下搭建测试环境

一、下载安装包https://pan.baidu.com/s/1h-Nk8HcWKKtqbjrn0J_t1g 457jJDK1.8安装包、Tomcat8安装包本文用的远程连接Linux操作系统的客户端工具为Xshell,相关使用请自行百度二、安装JDK1、先检查该环境是否已经安装过jdk。输入java -version。如果有,…