C51怎么取十六进制字符

例如:0x23,我想把2赋值到data1里面,3赋值到data2里面,用这个公式怎么取不到呢?该用什么方法,请指教!!data1=0x23%100/10;//(read_... 例如:0x23, 我想把2赋值到data1里面,3赋值到data2里面,用这个公式怎么取不到呢?该用什么方法,请指教!!
data1 = 0x23%100/10;//(read_clock(0x85)/16)+0x30;
data2 = 0x2%10;

希望data1的值是2 ; data2的值是三。
展开
 我来答
cqs8031
推荐于2016-09-03 · TA获得超过1.8万个赞
知道大有可为答主
回答量:1.9万
采纳率:31%
帮助的人:5570万
展开全部
0x23是十六进制数,不能用除法取。
data2=0x23&&0x0f; //与运算
追问
怎么运算得出结果呢?能举个例子吗?谢谢!!
追答
一个字节中的低四位就是你要的3;高四位就是2;
data2=0x23&&0x0f //屏蔽高四位,就得到3
data1=((0x23&0xf0)>4); //屏蔽低四位,再左移4次

十六进制数,是不能用除法取字的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式