0xF是什么 与一个整数 求tmp = digits & 0xF 的结果是什么 怎么运算的 ?

来源:百度知道 编辑:UC知道 时间:2024/05/28 08:11:56
我在一个算法中看到 tmp = digits & 0xF
如果digits =31 tmp就等于3
还测了一些值 主要是用在 15进制和10进制转换的
我忘了它是什么意思 ECLIPSE里输入1xF就报错
为什么?

java的不知道,

c语言的
0xf 是16进制写法 ,等于十进制的15,等于二进制的1111
0xf->15->0b1111
tmp = digits & 0xf 的意思是.取digits这个变量的后4位
digits=31 等于二进制的0b11111取他的后4位也就是1111应该等于15
而不是3
0x是16进制标志,,但是1x什么都不是,,所以1xF报错

前缀0x是十六进制标志
前缀0是八进制标志
比如说
0x9十六进制(0-9,a-f)
07八进制(0-7)
9十进制(0-9)