请教如何用十六进制直接进行运算
展开全部
所谓的十六进制。就是显示给人们看到的。显示方式为:15EFH之类的东西。
首先给你个不用十六进制计算的理由。
1:计算机不是以十六进制来计算的。完全是以二进制来计算的。
数值的加减乘除。最后完全还要转换到2进制来完成。10进制的加减乘除。也是要这样转换的。
2:易语言并没有提供直接进行16进制计算的接口。(不能直接在后面跟个H来说明是十六进制)
要实现16进制的计算。必须得自己编支持库。(用其它语言来完成)。
这样也得把所谓的十六进制文本转换到某种格式来传递参数。
3:若非得用纯易来编的话。也不是不可能的。但那已经不算是真正的十六进制计算。
只能进行十六进制文件之间的加减。比如:"16H"-"10H"="6H"。这样的冒牌功能。
易中的十六进制计算。还是得从:"16H"-->22-->对22的计算-->结果-->取十六进制文本
简单的说,把一个十进制整数装换为二进制证书的方法就“除2取余数法”即把被转换的十进制整数反复的除以2,直到商位0。所得到的余数就是这个树的二进制。比如 214 装换成二进制
2 | 214 。。。。。。。。。。0
2 |107 。。。。。。。。。。1
2 |53 。。。。。。。。。。1
2 |26 。。。。。。。。。。0
2 |13 。。。。。。。。。。1
2 |6 。。。。。。。。。。0
2 |3 。。。。。。。。。。1
2 |1 。。。。。。。。。。1
0
就是 (214)十进制=(11010110)二进制
二进制~~十进制
将二进制数按权展开求和
(10110011)二进制=1*2(7次方)+0*2(6。。)+1*2(5。。)。。。。。。。。。。1*2(0。。)=128+32+16+2+1=179
二进制转换八进制
由于二进制和八进制之间存在特殊关系。。即 8=2(3次方)因此在装换方法比较容易。。
将2禁止从小数点开始,整数部分从右向左3位一组,小数部分从左向右3位一组,不足3位用0补足即可
例如 将(1011101.1011)2(进制) ~~~八进制
010 111 101 101 100
—— —— —— —— ——
↓ ↓ ↓ ↓ ↓
2 7 5 5 4
八进制就是 275.54 8(进制)
八进制 转换二进制
将每一位八进制数用相应的3位二进制数取代。
比如 将(467.52) 8(进制)~~~~~~二进制
4 6 7 5 2
—— —— —— —— ——
↓ ↓ ↓ ↓ ↓
100 110 111 101 010
于是就是 (100110111.10101)2(进制)
二进制~~~十六进制
由于4位刚刚对应1位十六进制数,应次,二进制数转换成十六进制数的方法
讲二进制从小数点开始,整数部分从右向左每4位一组,从小数部分从左向右每4位一组,不足4位用0补足,每组对应1位十六进制数
例如。(1010111101000111.101101)2(进制)=AF47.B4)16(进制)
十六进制~~~~二进制
每一位进制数用相应的4位二进制数取代
(3DA9.68)16(进制)=(0011110110101001.01101000)2(进制)
四位二进制与 其他数值对照
——————————————————————————————
二进制 十进制 八进制 十六进制
0000 , 0 , 0 , 0
0001 , 1 , 1 , 1
0010 , 2 , 2 , 2
0011 , 3 , 3 , 3
0100 , 4 , 4 , 4
0101 , 5 , 5 , 5
0110 , 6 , 6 , 6
0111 , 7 , 7 , 7
1000 , 8 , 10 , 8
1001 , 9 , 11 , 9
1010 , 10 , 12 , A
1011 , 11 , 13 , B
1100 , 12 , 14 , C
1101 , 13 , 15 , D
1110 , 14 , 16 , E
1111 , 15 , 17 , F
打的累死。。 你自己研究下吧。。
首先给你个不用十六进制计算的理由。
1:计算机不是以十六进制来计算的。完全是以二进制来计算的。
数值的加减乘除。最后完全还要转换到2进制来完成。10进制的加减乘除。也是要这样转换的。
2:易语言并没有提供直接进行16进制计算的接口。(不能直接在后面跟个H来说明是十六进制)
要实现16进制的计算。必须得自己编支持库。(用其它语言来完成)。
这样也得把所谓的十六进制文本转换到某种格式来传递参数。
3:若非得用纯易来编的话。也不是不可能的。但那已经不算是真正的十六进制计算。
只能进行十六进制文件之间的加减。比如:"16H"-"10H"="6H"。这样的冒牌功能。
易中的十六进制计算。还是得从:"16H"-->22-->对22的计算-->结果-->取十六进制文本
简单的说,把一个十进制整数装换为二进制证书的方法就“除2取余数法”即把被转换的十进制整数反复的除以2,直到商位0。所得到的余数就是这个树的二进制。比如 214 装换成二进制
2 | 214 。。。。。。。。。。0
2 |107 。。。。。。。。。。1
2 |53 。。。。。。。。。。1
2 |26 。。。。。。。。。。0
2 |13 。。。。。。。。。。1
2 |6 。。。。。。。。。。0
2 |3 。。。。。。。。。。1
2 |1 。。。。。。。。。。1
0
就是 (214)十进制=(11010110)二进制
二进制~~十进制
将二进制数按权展开求和
(10110011)二进制=1*2(7次方)+0*2(6。。)+1*2(5。。)。。。。。。。。。。1*2(0。。)=128+32+16+2+1=179
二进制转换八进制
由于二进制和八进制之间存在特殊关系。。即 8=2(3次方)因此在装换方法比较容易。。
将2禁止从小数点开始,整数部分从右向左3位一组,小数部分从左向右3位一组,不足3位用0补足即可
例如 将(1011101.1011)2(进制) ~~~八进制
010 111 101 101 100
—— —— —— —— ——
↓ ↓ ↓ ↓ ↓
2 7 5 5 4
八进制就是 275.54 8(进制)
八进制 转换二进制
将每一位八进制数用相应的3位二进制数取代。
比如 将(467.52) 8(进制)~~~~~~二进制
4 6 7 5 2
—— —— —— —— ——
↓ ↓ ↓ ↓ ↓
100 110 111 101 010
于是就是 (100110111.10101)2(进制)
二进制~~~十六进制
由于4位刚刚对应1位十六进制数,应次,二进制数转换成十六进制数的方法
讲二进制从小数点开始,整数部分从右向左每4位一组,从小数部分从左向右每4位一组,不足4位用0补足,每组对应1位十六进制数
例如。(1010111101000111.101101)2(进制)=AF47.B4)16(进制)
十六进制~~~~二进制
每一位进制数用相应的4位二进制数取代
(3DA9.68)16(进制)=(0011110110101001.01101000)2(进制)
四位二进制与 其他数值对照
——————————————————————————————
二进制 十进制 八进制 十六进制
0000 , 0 , 0 , 0
0001 , 1 , 1 , 1
0010 , 2 , 2 , 2
0011 , 3 , 3 , 3
0100 , 4 , 4 , 4
0101 , 5 , 5 , 5
0110 , 6 , 6 , 6
0111 , 7 , 7 , 7
1000 , 8 , 10 , 8
1001 , 9 , 11 , 9
1010 , 10 , 12 , A
1011 , 11 , 13 , B
1100 , 12 , 14 , C
1101 , 13 , 15 , D
1110 , 14 , 16 , E
1111 , 15 , 17 , F
打的累死。。 你自己研究下吧。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询