A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 北冥有鱼 中级黑马   /  2014-2-26 03:17  /  1448 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int  a=0x06;//直接打印会输出结果为6


请问这个是怎么实现的?

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

5 个回复

倒序浏览
Ox06就是6的十六进制啊

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
那个0x06其实是16进制的6

16进制开头为0x,如0x08,其实换成10进制就是8
8进制开头为0,如05,其实换成10进制就是5
10进制就是普通那样写,注意不要在数字前加0.
0x06是因为前面有个0x,才判定为16进制的

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
wdtdcm 发表于 2014-2-26 11:56
那个0x06其实是16进制的6

16进制开头为0x,如0x08,其实换成10进制就是8

谢谢,一直不知道开头加0x    0 的说法
回复 使用道具 举报
一个字节8位,十六进制是四位四位来分的,也就说说6的二进制是0000 0110,前面0000为0,后面0110为6,00000110(二进制)=0x06(十六进制),一般看到数前面加“0x”前缀的都是十六进制的数。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
16进制的0x06和10进制的6其实值是相当的的,只是表现形式不同,
int  a=0x06;
这个语句所做的就是在系统底层将0x06转化为二进制码,然后判断a为int型,
再将0x06对应二进制码转化成int对应的二进制码,再转化成int型对应的值,就是6了。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马