-
c++十六进制加法_16进制数之间的加法
2021-01-31 23:37:25十六进制1. 数码: 0. 1. 2 .... 9.A. B. C. D. E. F.其中:十六进制数码:A B C D E F十进制数值:10 11 12 13 14 15基数: 162. 计数规则: 逢十六进一借一当十六3. 按权展开式: 按权展开每上十六进制数.例: 4E6C=4×...十六进制
1. 数码: 0. 1. 2 .... 9.A. B. C. D. E. F.
其中:十六进制数码:A B C D E F
十进制数值:10 11 12 13 14 15
基数: 16
2. 计数规则: 逢十六进一
借一当十六
3. 按权展开式: 按权展开每上十六进制数.
例: 4E6C=4×16^3+E×16^2+6×16^1+C×16^0
=4×16^3+14×16^2+6×16^1+12×16^0
例:A76.F8=10×16^2+7×16^1+6×16^0+15×16^-1+8×16^-2
4. 运算: (只介绍加, 减法)
(1) 加法: 逢十六进一
例: 4A7+8F=536
4 A 7
+) 8 F
5 3 6
(2) 减法: 借一当十六
例: 536-8F=4A7
5 3 6
-) 8 F
4 A 7
二进制
1、数码(仅有两个):0、1 ; 基数: 2
2、计数规则: 逢二进一
借一当二
下面我们用十进制作对比,看看二进制是如何计数的:
十进制数:0 1 2 3 4 5 6 7 8 9
二进制数:0 1 10 11 100 101 110 111 1000 1001
就权而言,与十进制有相似之处:
例如: 十进制数: 9 5 1 . 4 2
各位权数: 10^2 10^1 10^0 10^-1 10^-2
二进制数: 1 0 1 . 1 1 1
各位权数: 2^2 2^1 2^0 2^-1 2^-2 2^-3
3、按权展开式:
例: 1101=1×2^3 + 1×2^2 + 0×2^1 + 1×2^0
1001011 = 1×2^6 + 1×2^3 + 1×2^1 + 1×2^0
4、运算:
(1) 加法(逢二进一)。注意:要与逻辑代数区别开来:
二进制加法运算规则:
0 + 0 = 0 ; 0 + 1 = 1; 1 + 0 = 1; 1 + 1 = 10
例:11011 + 101 =100000
1 1 0 1 1
+) 1 0 1
______________
1 0 0 0 0 0
(2) 减法(借一当二)
例: 11001 - 111 = 10010
1 1 0 0 1
-) 1 1 1
______________
1 0 0 1 0
(3) 乘法: (转换成加法)
例: 11001×101
1 1 0 0 1
× 1 0 1
________________
1 1 0 0 1
+)1 1 0 0 1
_________________
1 1 1 1 1 0 1
(4) 除法: (转换成减法)
例: 1111/101=11
例: 1011011/110 = 1111 ... 余数为1
1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
一共15个,到了F,下一个就是10,然后是11、12……19、1A、1B……1F、20……
加法也一样,因为是16进制,所以加到F(就是10进制中的15),要进一位,即10(读作YI LING,别读成SHI)
再举个例吧:2F+3A,写成竖式,先算F+A,F是十进制中的15,A是十,加起来是二十五,在十六进制中,满十六进10,二十五在十六进制中就是19,所以个位是9,进1,2+3+1=6,最后等于69
是不是很乱?其实跟二进制、八进制一个道理,只是十六进制数多一点,比较麻烦,二进制是满二进10,八进制是满8进10,先把二进制和八进制练熟练一点再来十六进制就比较轻松了
分享到:
2008-08-07 19:40
浏览 1641
评论
-
c++十六进制加法_在C/C++中实现十六进制、二进制和十进制之间的高效转换
2020-12-20 19:13:40让我们考虑一下任务的一半—从字符串化的基数n转换为无符号的long,其中n是2的幂(二进制为基数2,十六进制为基数16)。如果您的输入是正常的,那么这项工作只不过是一个比较、一个子分形、一个移位和一个或每位数。如果...让我们考虑一下任务的一半—从字符串化的基数n转换为无符号的long,其中n是2的幂(二进制为基数2,十六进制为基数16)。
如果您的输入是正常的,那么这项工作只不过是一个比较、一个子分形、一个移位和一个或每位数。如果你的输入不正常,那么,这就是它变得难看的地方,不是吗?做转换超快并不难。在任何情况下把它做好都是挑战。
所以假设你的输入是正常的,那么你转换的核心是:
unsigned long PowerOfTwoFromString(char *input, int shift)
{
unsigned long val = 0;
char upperLimit = 'a' + (1 << shift)
while (*input) {
char c = tolower(*input++);
unsigned long digit = (c > 'a' && c < upperLimit) ? c - 'a' + 10 : c - '0';
val = (val << shift) | digit;
}
return val;
}
#define UlongFromBinaryString(str) PowerOfTwoFromString(str, 1)
#define UlongFromHexString(str) PowerOfTwoFromString(str, 4)
你看这有多容易?它会在非正常输入时失败。你的大部分工作将是让你的输入保持理智,而不是表现。
现在,这个代码利用了两个移位的能力。它很容易扩展到基4,基8,基32等。它不会在两个基的非幂上工作。对于这些,你的数学必须改变。你得到
val = (val * base) + digit
这在概念上对这组操作是相同的。与基相乘等于移位。所以我可能会用一个完全通用的程序来代替。在清除输入的同时清除代码。在这一点上,strtoul可能是你最好的选择。这里有一个链接
a version
斯特图的。几乎所有的工作都是处理边缘条件——这会让你知道你的精力应该集中在哪里:正确的,有弹性的代码。与say的节省相比,使用位移位的节省将是最小的,而不是因为输入错误而崩溃。
-
c++十六进制加法_二进制、八进制和十六进制及之间的转换
2021-01-01 13:44:29平时使用的数字都是由 0~9 共十个数字组成,例如 1、8、10、666、999 等,一个数字最多能表示九,如果要表示十、十一、二十九、一百等,就需要多个数字组合起来。...十进制是在人类社会发展过程中自然形成的,...平时使用的数字都是由 0~9 共十个数字组成,例如 1、8、10、666、999 等,一个数字最多能表示九,如果要表示十、十一、二十九、一百等,就需要多个数字组合起来。
例如表示 5+8 的结果,一个数字不够,只能”进位“,用 13 来表示;这时”进一位“相当于十,”进两位“相当于二十。
因为逢十进一(满十进一),也因为只有 0~9 共十个数字,所以叫做十进制。十进制是在人类社会发展过程中自然形成的,它符合人们的思维习惯,我们平时使用的默认就是十进制的。
进制也就是进位制。进行加法运算时逢X进一(满X进一),进行减法运算时借一当X,这就是X进制,这种进制也就包含X个数字,基数为X。十进制有 0~9 共10个数字,基数为10,在加减法运算中,逢十进一,借一当十。其实就是我们小学老师教我们的加法和减法。
二进制
我们不妨将思维拓展一下,既然可以用 0~9 共十个数字来表示数值,那么也可以用0、1两个数字来表示数值,这就是二进制。例如,数字 0、1、10、11、111、1111110都是有效的二进制。
在计算机内部,数据都是以二进制的形式存储的,二进制是学习编程必须掌握的基础。
二进制加减法和十进制加减法的思想是类似的(其实所有的进制的算术原理都是相似的):
对于十进制,进行加法运算时逢十进一,进行减法运算时借一当十;
对于二进制,进行加法运算时逢二进一,进行减法运算时借一当二。
二进制加减法的运算过程,自己可以在纸上画出来,其实就是我们小学老师教的列竖式的加减法啊。
1) 二进制加法:1+0=1、1+1=10、11+10=101、111+111=1110
2) 二进制减法:1-0=1、10-1=1、101-11=10、1100-111=101
八进制
除了二进制,C语言还会使用到八进制。
八进制有 0~7 共8个数字,基数为8,加法运算时逢八进一,减法运算时借一当八。例如,数字 0、1、3、7、26、77、77777都是有效的八进制。
1) 八进制加法:6+2=10、6+6=14
2) 八进制减法:6-4=2、20-7=11
十六进制
除了二进制和八进制,十六进制也经常使用,甚至比八进制还要多。
十六进制中,用A来表示10,B表示11,C表示12,D表示13,E表示14,F表示15,因此有 0~F 共16个数字,基数为16,加法运算时逢16进1,减法运算时借1当16。例如,数字 0、1、5、9、A、D、F、567D、F55、AAA65F、EE22 都是有效的十六进制。
注意,十六进制中的字母不区分大小写,ABCDEF 也可以写作 abcdef。
1) 十六进制加法:6+4=A、58+62=BA、A00+600=1000
2) 十六进制减法:1D-2=1B、AB52-69FF=41B3、
二进制、八进制、十六进制、十进制之间的转换。掌握原理即可。
二进制、八进制和十六进制向十进制转换都比较容易,这部分其实中学也是学过的。也是很基础。就是“按权相加”。所谓“权”,也即“位权”。
假设当前数字是 N 进制:对于整数部分,从右往左看,第 i 位的位权等于N的i-1次方
对于小数部分,恰好相反,要从左往右看,第 j 位的位权为N -j次方。我记得高中学过,相当于公式把将十进制转换为二进制、八进制、十六进制,十进制整数转换为 N 进制整数采用“除 N 取余,逆序排列”
小数部分实际开发用的很少,有兴趣的可以自学下,稍微麻烦点。
二进制和八进制、十六进制的转换,这个得掌握,把常用的记住,灵活使用
1) 二进制整数和八进制整数之间的转换
二进制整数转换为八进制整数时,每三位二进制数字转换为一位八进制数字,运算的顺序是从低位向高位依次进行,高位不足三位用零补齐。
2) 二进制整数和十六进制整数之间的转换
二进制整数转换为十六进制整数时,每四位二进制数字转换为一位十六进制数字,运算的顺序是从低位向高位依次进行,高位不足四位用零补齐。
另外推荐Windows系统下用计算机器 调成程序员模式,既可以各种进制之间的换算。如果是你学生,建议把原理搞懂,找几个简单的例子换算下。
这张表格建议记住比较实用。
另外
本人专业从事C语言开发,也结合开发和平时教学总结了一本关于C语言的讲义,欢迎咨询,提供C语言辅导服务,专升本计算机辅导,计算机二级辅导等等,一对一扣扣在线辅导。
-
16进制加法 keil_教你快速学会二进制、十进制、十六进制之间的转换
2020-12-28 18:11:42推荐学习内容--周华健的网课《9节课征服「字符编码」》推荐学习视频:9节课征服「字符编码」 - 网易云课堂study.163.com介绍 我相信很多大学计算机专业的学生还依然不懂它们之间的区别以及转换关系,作为大学生的...- 推荐学习内容--周华健的网课《9节课征服「字符编码」》
- 推荐学习视频:
- 介绍
我相信很多大学计算机专业的学生还依然不懂它们之间的区别以及转换关系,作为大学生的你和我相比差不了多少。因为在大学期间,大一、大二的我也是一条咸鱼。上课除了神游物外、昏昏欲睡,还真没什么可以形容我的了。在一个偶然的课程上,我喜欢上了Android游戏编程,后来慢慢的发现原生Android真的难编游戏,一些小游戏、小案例还是可以的。接着,我就开始学习Android的应用开发,发现也是挺有意思的。有时候,我想要翻一翻身,咸鱼也会有点机会的。看到了一些大学生毕业等于失业的字眼,有时候想想还是挺为自己感到庆幸的,毕竟我还没毕业(哈哈,自嘲),我还有机会去努力、去学习。每当扪心自问自己会什么、学到什么的时候,脑子空空如也。也许是夜间多发感触,但是每每这样,都提醒着我要努力了,要确定自己要走的路!
扯归扯,学习还是要的。
- 常用进制
首先,我先来介绍一下何为二进制、十进制、十六进制,以及它们的区别和特点。
- 二进制
二进制,逢二进一,数字中只有 0 和 1
例如,数数,二进制的数法是:0,1 接着 10,11 接着 100,101,110,111 接着 1000,1001 ... 1111 以此类推。- 十进制
十进制,逢十进一,数字中含有 0,1,2,3,4,5,6,7,8,9
十进制是我们从小就开始学习的,应该没有人不会吧,从1数到100会把,哈哈。- 十六进制
十六进制,逢十六进一,表示形式比较特殊,因为10~15不能用数字来展示,不然就乱套了。所以强制规定如下10 用 A 表示、11 用 B 表示、12 用 C 表示、13 用 D 表示、14 用 F 表示。
那么数数的数法也同理,从 0 ~ F 接着 10 ... 1F ... FF 接着 100 ...... FFF 以此类推。- 进制间的转换
下面,我们通过一些简单的数值的转换例子,来学习这些进制的转换关系。
- 二进制 转 十进制
二进制数:0101 转 十进制数: 5
计算过程图:(最后一位数开始是2的零次方,以此类推,进行加法运算。)
- 十进制 转 二进制
我们依照上面那个数值
十进制数:5 转 二进制数:0101
- 十六进制 转 十进制
十六进制数:2AC 转 十进制数:684
- 十进制 转 十六进制
十进制数:684 转 十六进制数:2AC
- 二进制 转 十六进制
二进制数:10101101110 转 十六进制数:56E
- 十六进制 转 二进制
十六进制数:56E 转 二进制数:10101101110
通过几个转换例子,我们学会了进制间的转换关系。我发现通过表达的形式,总觉得表达不出来,也表达不清楚,大家更别说理解了。所以我就画了步骤计算过程图,这样更鲜明、更直观的表达我的意思。教学的目的也在于此。
©原文链接:https://blog.csdn.net/smile_running/article/details/81090483
©作者博客 ID:smile_running -
EOJ3037-十六进制加法
2020-04-24 22:33:48请编写程序实现两个十六进制整数的加法。 例如:十六进制整数 3762 和 05C3,3762+05C3=3D25 十六进制整数 CB9 和 957,CB9+957=1610 格式 输入格式 第 1 行:一个整数 T (1≤T≤10) 为问题数。 接下来 T 行,每行... -
16进制加法 keil_二进制、八进制和十六进制及之间的转换
2020-12-28 17:07:01平时使用的数字都是由 0~9 共十个数字组成,例如 1、8、10、666、999 等,一个数字最多能表示九,如果要表示十、十一、二十九、一百等,就需要多个数字组合起来。...十进制是在人类社会发展过程中自然形成的,... -
二进制、八进制和十六进制
2019-07-21 15:36:12借助同样的思想,计算机中有二进制、八进制、十六进制之说,接下来详细讲解进制加减法及不同进制之间转换。 一、二进制、八进制、十六进制 1.二进制 只用0、1两个数字来表示数值,这就是二进制... -
十六进制除法运算法则_加法、减法、乘法、除法——四则运算
2021-01-14 02:52:47011. 加法、减法、乘法和除法统称四则运算。2. 在没有括号的算式里,如果只有加、减法或者只有乘、除法,都要...02 加、减法,乘、除法的意义及各部分之间的关系1.加法把两个数合并成一个数的运算。加数+加数=和 和... -
16进制数之间的加法
2008-08-07 19:40:00十六进制 1. 数码: 0. 1. 2 .... 9.A. B. C. D. E. F. 其中:十六进制数码:A B C D E F 十进制数值:10 11 12 13 14 15 基数: 16 2. 计数规则: 逢十六进一 借一当十六 3. 按权展开式: 按权展开每上十六进制... -
java 二进制加法运算_零基础学Java之数据类型和运算符,第一讲:进制及其转换...
2021-02-28 12:23:04主要内容进制及其转换标识符、关键字常量...人类使用二进制:计算机使用八进制和十六进制:为了更好的表示二进制(缩短二进制长度)各进制数之间的关系1.2 计算机为什么使用二进制物理上容易实现,可靠性强;运算简单... -
A+B Again
2020-01-28 12:04:54题目大意:输入两个十六进制,进行十六进制之间的加法,输出对应的十六进制(要求输出为大写) #include<iostream> #include<iomanip> using namespace std; int main() { long long a,b,c; while(cin... -
BCD码的加法和减法
2018-11-09 22:30:35【例】BCD码0011 0100(二进制)、34H(十六进制)表示34(十进制) BCD码的加法 BCD码修正规则如下: (1) 若两个8421码数相加之和等于或小于1001,不需修正。 (2) 若相加和在10-15之间,一方面应向高位产生... -
BCD码加法的步骤及其原因
2020-12-19 11:01:13如果相加之和在 1010 到1111(即十六进制数 0AH~0FH)之间bai,则需加 6 进行修正; 如果相加时,本位产生了进位,也需加 6 进行修正。 这样做的原因是,机器按二进制相加,所以 4 位二进制数相加时,是按“逢十六进... -
C#入门第一课
2020-07-14 20:58:56常用进制之间的转换以及原码,反码和补码 什么是进制? 进制也就是进位计数制,是认为定义的一种带进位机制的技术方法,在计数时使用逢N进1的方式进行计数。 二进制与十进制 十进制转化二进制 二进制转化十进制 二... -
Python - 统计MAC地址
2016-07-03 14:25:56十六进制字符串转换为十进制int('a',16)int('0xa',16)十进制转换为十六进制hex(10)'0xa'十进制转换为字符串str(12)'12'练习:求MAC地址的下一个地址,考虑01 0f结尾的情况。#!/usr/bin/pythonmacaddr='00:16:3E:00:... -
12月29 c#小结(学习过程)
2014-12-29 11:43:001、二、八、十、十六进制之间的相互转化。 2、建模:建立转换模型 二、vs2012 数据类型 1、字符串(string)、整形(int)、浮点型(double)、布尔型(bool)、字符型(char) 2、常量、变量(先定义后使用... -
汇编语言北大上机考试基本功训练(一)
2005-03-18 20:51:00题目:输入两个单位十进制数(0-7之间),要求:1)用十六进制输出两数的和2)用四位二进制输出两数的差,要求差必须大于等于03)用两位十进制输出两数的积分析:考核知识点:单个十进制数字的输入基本数学运算(加法/减法和乘法... -
第二章-运算方法和运算部件
2020-10-03 19:57:07运算方法和运算部件进制的表示与转换十(二)进制的表示十、二、十六、八进制之间的转换十进制数的编码与运算加法减法原码补码 进制的表示与转换 十(二)进制的表示 十、二、十六、八进制之间的转换 对应关系 有... -
20165223 《信息安全系统设计基础》 第二周学习总结
2018-09-30 16:12:00目录 课堂内容总结 课后教材测试 课堂内容总结 一、信息的表示与处理 信息=位+上下文 ...C语言中使用堆栈法实现各进制(十进制、二进制、八进制、十六进制)之间的转换 三、位的表示 移位,置0,置1…… ... -
《深入理解计算机系统》学习笔记:信息的表示和处理
2020-10-24 10:27:01目录概述一、信息存储1.1、十六进制表示法1.2、子数据大小1.3、寻址和字节顺序1.4、表示字符串1.5、表示代码1.6、布尔代数简介1.7、C语言中的位级运算(位运算)1.8、C语言中的逻辑运算1.9、C语言中的移位运算二、... -
深入理解计算机系统读书笔记
2019-02-21 19:40:49深入理解计算机系统读书笔记前言信息的表示和处理十六进制、十进制和二进制转换字、大端与小端整数表示无符号和有符号有符号数与无符号数之间的转换整数运算无符号加法有符号(补码)加法乘法、除法浮点数IEEE浮点表示... -
python基础语法——列表,元组,字典,函数,类,异常,
2020-11-28 17:23:07sep 参数用来表示输出时,每个值之间使用哪种字符作为分隔,默认使用空格作为分隔符 end 当执行完一个print语句...以0b开头的数字是二进制,以0o开头的数字是八进制,以0x开头 的数字是十六进制 bin()内置函数可将数字 -
第一天:CPU部分底层知识
2020-08-09 08:54:51各种各样的逻辑开关组合在一起就成了逻辑门,逻辑门能把二进制慢慢变为八进制十六进制,逻辑门就组合成了基础逻辑电路,形成了加法器、累加器、锁存器等。但需要手动去计算,通电一次运算一次位运算。加入内存,实现... -
数字逻辑与计算机设计基础
2012-11-23 14:36:091.1.4 二进制与八进制、十六进制之间的转换 1.1.5 二进制数与十进制数之间的转换 1.2 编码 1.2.1 十进制数的二进制编码 1.2.2 带符号的二进制数的编码 1.2.3 带小数点的数的编码 1.2.4 字符编码 习题 第二章 组合... -
C语言程序设计标准教程
2009-05-22 18:29:14在C语言中,使用的整常数有八进制、十六进制和十进制三种。 整型常量 1.八进制整常数八进制整常数必须以0开头,即以0作为八进制数的前缀。数码取值为0~7。八进制数通常是无符号数。 以下各数是合法的八进制数: ... -
VBSCRIPT中文手册
2010-11-12 10:13:06Hex 函数 返回表示数的十六进制值的字符串。 HelpContext 属性 设置或返回帮助文件中某主题的上下文 ID。 HelpFile 属性 设置或返回帮助文件的全路径。 Hour 函数 返回小时数,取值范围为 0 至 23。 If...Then..... -
vb Script参考文档
2009-07-28 22:13:02Hex 函数 返回表示数的十六进制值的字符串。 HelpContext 属性 设置或返回帮助文件中某主题的上下文 ID。 HelpFile 属性 设置或返回帮助文件的全路径。 Hour 函数 返回小时数,取值范围为 0 至 23。 If...Then..... -
中南大学信息院《数字电子技术基础》
2015-06-12 00:45:22七、图6所示是16*4位ROM和同步十六进制加法计数器74LS161组成的脉冲分频电路。ROM中的数据见表1所示。试画出在CP信号连续作用下的D3、D2、D1、D0输出的电压波形,并说明它们和CP信号频率之比。 (16分) 表1: ... -
VBSCRIP5 -ASP用法详解
2010-09-23 17:15:46Hex 函数 返回表示数的十六进制值的字符串。 HelpContext 属性 设置或返回帮助文件中某主题的上下文 ID。 HelpFile 属性 设置或返回帮助文件的全路径。 Hour 函数 返回小时数,取值范围为 0 至 23。 If...Then..... -
[Flash.ActionScript.3.0动画教程
2014-09-15 09:26:254.1.1 使用十六进制表示颜色值 4.1.2 透明度和32位色 4.1.3 新的数值类型:int和uint 4.1.4 色彩合成 4.1.5 获取颜色值 4.2 绘图 API 4.2.1 绘图对象 4.2.2 使用 clear 删除绘制 4.2.3 使用lineStyle设定线条样式 ...