二八十十六进制的使用及转换Word格式.docx
- 文档编号:18584656
- 上传时间:2022-12-28
- 格式:DOCX
- 页数:17
- 大小:76.09KB
二八十十六进制的使用及转换Word格式.docx
《二八十十六进制的使用及转换Word格式.docx》由会员分享,可在线阅读,更多相关《二八十十六进制的使用及转换Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
第1位0×
8^1=0
第2位5×
8^2=320
第3位1×
8^3=512
十六进制转换十进制
16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。
字母不区分大小写。
十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……
所以,在第N(N从0开始)位上,如果是数β(β大于等于0,并且β小于等于15,即:
F)表示的大小为β×
16的N次方。
假设有一个十六进数2AF5
直接计算就是:
5×
16+F×
16+A×
16+2×
16=10997
第0位:
16=5
第1位:
F×
16^1=240
第2位:
A×
16^2=2560
第3位:
2×
16^3=8192
10997
此处可以看出,所有进制换算成10进制,关键在于各自的权值不同。
假设有人问你,十进数1234为什么是一千二百三十四?
你可以给他这么一个算式:
1234=1×
10+2×
10+3×
10+4×
10
十六进制互相转换
首先我们来看一个二进制数:
1111,它是多少呢?
你可能还要这样计算:
2=1×
1+1×
4+1×
8=15。
然而,由于1111才4位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:
8、4、2、1。
即,最高位的权值为2^3=8,然后依次是2^2=4,2^1=2,2^0=1。
记住8421,对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。
下面列出四位二进制数xxxx所有可能的值(中间略过部分)
仅4位的2进制数快速计算方法十进制值十六进制
1111=8+4+2+1=15=F
1110=8+4+2+0=14=E
1101=8+4+0+1=13=D
1100=8+4+0+0=12=C
1011=8+0+2+1=11=B
1010=8+0+2+0=10=A
1001=8+0+0+1=9=9
……
0001=0+0+0+1=1=1
0000=0+0+0+0=0=0
二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。
如(上行为二制数,下面为对应的十六进制):
11111101,10100101,10011011
FD,A5,9B
反过来,当我们看到FD时,如何迅速将它转换为二进制数呢?
先转换F:
看到F,我们需知道它是15(可能你还不熟悉A~F这五个数),然后15如何用8421凑呢?
应该
是8+4+2+1,所以四位全为1:
1111。
接着转换D:
看到D,知道它是13,13如何用8421凑呢?
应该是:
8+4+1,即:
1101。
所以,FD转换为二进制数,为:
11111101
由于十六进制转换成二进制相当直接,所以,我们需要将一个十进制数转换成2进制数时,也可以先转换成16进制,然后再转换成2进制。
比如,十进制数1234转换成二制数,如果要一直除以2,直接得到2进制数,需要计算较多次数。
所以我们可以先除以16,得到16进制数:
被除数计算过程商余数
12341234/16772
7777/16413(D)
44/1604
结果16进制为:
4D2
然后我们可直接写出4D2的二进制形式:
1101
0010
其中对映关系为:
0100--4
1101--D
0010--2
同样,如果一个二进制数很长,我们需要将它转换成10进制数时,除了前面学过的方法是,我们还可以先将这个二进制转换成16进制,然后再转换为10进制。
下面举例一个int类型的二进制数:
01101101
11100101
10101111
00011011
我们按四位一组转换为16进制:
6DE5AF1B
十进制转十六进制
采余数定理分解,例如将487710转成十六进制:
487710÷
16=30481....14(E)
30481÷
16=1905....1
1905÷
16=119....1
119÷
16=7....7
7÷
16=0....7
这样就计到487710(10)=7711E(16)
表达方法:
程序的表达方法环境格式备注URL%hex无XML,XHTML&
#xhex无HTML,CSS#hex6位,表示颜色UnicodeU+hex6位,表示字符编码MIME=hex无Modula-2#hex无Smalltalk,ALGOL6816rhex无CommonLisp#xhex或#16rhex无IPv68个hex用:
分隔无
CC++的表达方法
如果不使用特殊的书写形式,16进制数也会和10进制相混。
随便一个数:
9876,就看不出它是16进制或10进制。
C,C++规定,16进制数必须以0x开头。
比如0x1表示一个16进制数。
而1则表示一个十进制。
另外如:
0xff,0xFF,0X102A,等等。
其中的x也不区分大小写。
(注意:
0x中的0是数字0,而不是字母O)
以下是一些用法示例:
inta=0x100F;
intb=0x70+a;
至此,我们学完了所有进制:
10进制,8进制,16进制数的表达方式。
最后一点很重要,C/C++中,10进制数有正负之分,比如12表示正12,而-12表示负12,;
但8进制和16进制只能表达无符号的正整数,如果你在代码中写:
-078,或者写:
-0xF2,C,C++并不把它当成一个负数。
在转义符中的使用
转义符也可以接一个16进制数来表示一个字符。
如\'
?
\'
字符,可以有以下表达方式:
//直接输入字符
\77\'
//用八进制,此时可以省略开头的0
\0x3F\'
//用十六进制
同样,这一小节只用于了解。
除了空字符用八进制数
\0\'
表示以外,我们很少用后两种方法表示一个字符。
各码转换:
结束了各种进制的转换,我们来谈谈另一个话题:
原码、反码、补码。
我们已经知道计算机中,所有数据最终都是使用二进制数表达。
我们也已经学会如何将一个10进制数如何转换为二进制数。
不过,我们仍然没有学习一个负数如何用二进制表达。
比如,假设有一int类型的数,值为5,那么,我们知道它在计算机中表示为:
5
00000000
00000101
转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。
想知道,-5在计算机中如何表示吗?
在计算机中,负数以其正值的补码形式表达。
什么叫补码呢?
这得从原码,反码说起。
原码:
一个整数,按照绝对值大小转换成的二进制数,称为原码。
比如
是5的原码。
反码:
将二进制数按位取反,所得的新二进制数称为原二进制数的反码。
取反操作指:
原为1,得0;
原为0,得1。
(1变0;
0变1)
每一位取反,得11111111111111111111111111111010。
称:
11111111111111111111111111111010是
的反码。
反码是相互的,所以也可称:
11111111
11111010
和
互为反码。
补码:
反码加1称为补码。
也就是说,要得到一个数的补码,先得到反码,然后将反码加上1,所得数称为补码。
00000000
的反码是:
那么,补码为:
11111111111111111111111111111010+1=11111111111111111111111111111011
所以,-5在计算机中表达为:
11111111111111111111111111111011。
转换为十六进制:
0xFFFFFFFB。
再举一例,我们来看整数-1在计算机中如何表示。
假设这也是一个int类型,那么:
1、先取1的原码:
00000001
2、得反码:
11111110
3、得补码:
可见,-1在计算机里用二进制表达就是全1。
16进制为:
0xFFFFFFFF。
一切都是纸上说的……说-1在计算机里表达为0xFFFFFFFF,我能不能亲眼看一看呢?
当然可以。
利用C++Builder的调试功能,我们可以看到每个变量的16进制值。
变量:
下面我们来动手完成一个小小的实验,通过调试,观察变量的值。
我们在代码中声明两个int变量,并分别初始化为5和-5。
然后我们通过CB提供的调试手段,可以查看到程序运行时,这两个变量的十进制值和十六进制值。
首先写一个如下的C语言控制台程序:
设置断点:
最常用的调试方法之一,使程序在运行时,暂停在某一代码位置,
在Code:
:
Blocks中,设置断点的方法是在某一行代码上按F5或在行首栏内单击鼠标。
我们在return0;
这一行上设置断点。
断点所在行将被Code:
Blocks以红色显示。
接着,运行程序(F9),程序将在断点处停下来。
(请注意两张图的不同,前面的图是运行之前,后面这张是运行中,左边的箭头表示运行运行到哪一行)
当程序停在断点的时,我们可以观察当前代码片段内,可见的变量。
观察变量的方法很多种,这里我们学习使用DebugInspector(调试期检视),来全面观察一个变量。
以下是调出观察某一变量的DebugInspector窗口的方法:
先确保代码窗口是活动窗口。
(用鼠标点一下代码窗口)
按下Ctrl键,然后将鼠标挪到变量aaaa上面,你会发现代码中的aaaa变蓝,并且出现下划线,效果如网页中的超链接,而鼠标也变成了小手状:
点击鼠标,将出现变量aaaa的检视窗口。
从该窗口,我可以看到:
aaaa:
变量名int:
变量的数据类型
0012FF88:
变量的内存地址,请参看5.2变量与内存地址;
地址总是使用十六进制表达5:
这是变量的值,
即aaaa=5;
0x00000005:
同样是变量的值,但采用16进制表示。
因为是int类型,所以占用4字节。
首先先关闭前面的用于观察变量aaaa的DebugInspector窗口。
然后,我们用同样的方法来观察变量bbbb,它的值为-5,负数在计算机中使用补码表示。
正如我们所想,-5的补码为:
再按一次F9,程序将从断点继续运行,然后结束。
总结:
来看看我们主要学了什么:
1、我们学会了如何将二、八、十六进制数转换为十进制数。
三种转换方法是一样的,都是使用乘法。
2、我们学会了如何将十进制数转换为二、八、十六进制数。
方法也都一样,采用除法。
3、我们学会了如何快速的地互换二进制数和十六进制数。
要诀就在于对二进制数按四位一组地转换成十六进制数。
在学习十六进制数后,我们会在很多地方采用十六进制数来替代二进制数。
4、我们学习了原码、反码、补码。
把原码的0变1,1变0,就得到反码。
要得到补码,则先得反码,然后加1。
以前我们只知道正整数在计算机里是如何表达,这时我们还知道负数在计算机里使用其绝对值的补码表达。
比如,-5在计算机中如何表达?
回答是:
5的补码。
5、最后我们在上机实验中,这会了如何设置断点,如何调出DebugInspector窗口观察变量。
以后我们会学到更多的调试方法。
标准表示:
在数制使用时,常将各种数制用简码来表示:
如十进制数用D表示或省略;
二进制用B来表示;
十六进制数用H来表示。
如:
十制数123表示为:
123D或者123;
二进制数1011表示为:
1011B;
十六进制数3A4表示为:
3A4H。
另外在编程中十六进制数也用"
0x"
作为开头。
快捷转换表格(0~100):
二进制
八进制
十进制
十六进制
1
2
11
3
100
4
101
110
6
111
7
1000
8
1001
9
1010
12
A
1011
13
B
1100
14
C
15
D
1110
16
E
1111
17
F
10000
10001
21
10010
22
18
10011
23
19
10100
24
10101
25
10110
26
10111
27
11000
30
11001
31
11010
32
1A
11011
33
1B
11100
34
28
1C
11101
35
29
1D
11110
36
1E
11111
37
1F
100000
40
100001
41
100010
42
100011
43
100100
44
100101
45
100110
46
38
100111
47
39
101000
50
101001
51
101010
52
2A
101011
53
2B
101100
54
2C
101101
55
2D
101110
56
2E
101111
57
2F
110000
60
48
110001
61
49
110010
62
110011
63
110100
64
110101
65
110110
66
110111
67
111000
70
111001
71
111010
72
58
3A
111011
73
59
3B
111100
74
3C
111101
75
3D
111110
76
3E
111111
77
3F
1000000
1000001
1000010
102
1000011
103
1000100
104
68
1000101
105
69
1000110
106
1000111
107
1001000
1001001
1001010
112
4A
1001011
113
4B
1001100
114
4C
1001101
115
4D
1001110
116
78
4E
1001111
117
79
4F
1010000
120
80
1010001
121
81
1010010
122
82
1010011
123
83
1010100
124
84
1010101
125
85
1010110
126
86
1010111
127
87
1011000
130
88
1011001
131
89
1011010
132
90
5A
1011011
133
91
5B
1011100
134
92
5C
1011101
135
93
5D
1011110
136
94
5E
1011111
137
95
5F
1100000
140
96
1100001
141
97
1100010
142
98
1100011
143
99
1100100
144
展开
进位制的记数系统
基本进位制
三进制
四进制
五进制
六进制
七进制
九进制
十一进制
十二进制
十三进制
十四进制
十五进制
十八进制
二十进制
二十四进制
二十六进制
二十七进制
三十进制
三十二进制
三十六进制
六十进制
六十四进制
平衡进位制
平衡三进制
平衡五进制
平衡九进制
特殊进位制
Base64
十进位制
二进指数法
黄金进制
斐波那契编码
e进制
相关条目
位
位元
进位制
米迪定理
记数系统
数学名词
八边形
八面体
百分比
百分点
百分位数
半径
半球
半圆
被乘数
被除数
被加数
被减数
比
比例
边
变量
标准差
表面积
并集
补集
不等边三角形
不等式
不定积分
差
长
常量
乘
乘方
乘数
除
除数
垂心
次方
次方根
大于
大于等于
代数
单调性
单项式
导数
等边三角形
等式方程式
等腰三角形
等腰梯形
等于
底
底面
点
定积分
定理
定义域
对数
钝角
钝角三角形
多边形
多面体
二次方程
多项式
二次方根平方根
二次方平方
二十面体
反余割
反余切
反余弦
反正割
反正切
反正弦
方差
非正态分布
分布
分母
分数
分子
负
复数
高
公理
公式
勾股定理
轨迹
函数
横坐标
弧
弧度
环
积
积分
极限
集合
几何
计算
加
加权平均数
加数
假设
减
减数
交集
角
角度
阶乘
截尾
进位
九边形
九面体
矩形
矩阵
开方
空集
空间
宽
棱台
棱柱
棱锥
立方体
菱形
零
六边形
六面体
面
面积
命题
内切圆
内心
排列
旁心
抛物线
平角
平均数
平行
平行六面体
平行四边形
七边形
七面体
奇偶性
球
曲线统计图
全等
权
锐角
锐角三角形
三次方程
三次方根立
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二八 十六进制 使用 转换
![提示](https://static.bdocx.com/images/bang_tan.gif)