二进制、八进制、十六进制5

二进制、八进制、十六进制5,第1张

二进制、八进制、十六进制5,第2张

6.2.5十六进制数转换为十进制数
二进制,使用两个阿拉伯数字:0和1;

八进制,使用八个阿拉伯数字:0,1,2,3,4,5,6,7;

十进制,有十个阿拉伯数字:0到9;

十六进制,有十六个阿拉伯数字...等等,阿拉伯人还是印度人只发明了10位数?

十六进制是每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开始)位上,如果是,则数字X (X大于等于0,X小于等于15,即f)代表X * 16的n次方。

假设有一个十六进制数2AF5,那么如何转换成十进制?

纵向计算:
2AF5换算成十进制:

第0名:5 * 160 = 5

第一名:F * 161 = 240

第二名:A * 162 = 2560

第三名:2 * 163 = 8192+

直接计算是:

5 * 160 + F * 161 + A * 162 + 2 * 163 = 10997

(别忘了,在上面的计算中,A代表10,而F代表15)


现在可以看出,所有十进制转换成十进制的关键在于它们的权重不同。

假设有人问你,十进制数1234为什么是1234?你可以给他这样一个公式:

1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100

6.2.6十六进制数的表示方法
如果不使用特殊的书写形式,十六进制数会与十进制数混合。任意数:9876,你分不清是十六进制还是十进制。

C,C++规定十六进制数必须以0x开头。例如,0x1代表十六进制数。1代表十进制。此外,如0xff、0xFF、0X102A等。x也不区分大小写。(注意:0x中的0是数字0,不是字母O)

以下是一些用法示例:

int a = 0x100F

int b = 0x 70+a;

到目前为止,我们已经学习了所有的十进制系统:十进制、八进制和十六进制。最后一点很重要。在C/C++中,有正负十进制数。例如,12表示正12,而-12表示负12。但是八进制和十六进制只能用无符号正整数。如果你在代码里写:-078,或者:-0xF2,C,C++,它不会把它当成负数。

6.2.7在转义字符中使用十六进制数

转义字符后面还可以跟一个十六进制数来表示一个字符。如第6.2.4小节所述?字符,它可以有以下表达式:

?//直接输入字符

\ 77 '//使用八进制,在这种情况下,可以省略开头的0。

\ 0x3f '//使用十六进制

同样,本小节仅用于理解。除了空字符用八进制数' [32] '表示外,我们很少用后两种方法来表示一个字符。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 二进制、八进制、十六进制5

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情