5个回答
展开全部
1、结果等于0。0x前缀表示16进制,0x00=0,0x100=1*16^2+0*16^1+0*16^0=256,所以0*256=0。
2、C/C++规定,16进制数必须以 0x开头。比如 0x1表示一个16进制数。而1则表示一个十进制。另外如:0xff,0xFF,0X102A,等等.其中的x不用区分大小写(注意:0x中的0是数字0,而不是字母O)。此外,C/C++中,10进制数有正负之分。比如12表示正12,而-12表示负12。但8进制和16进制只能表达无符号的正整数,如果在代码中写-0xF2,C/C++并不把它当成一个负数。以下是一些用法示例:
int a = 0x100F; //用一个十六进制数给变量a赋值
int b = 0x70 + a; //用一个十六进制数+变量a的值给变量b赋值
2、C/C++规定,16进制数必须以 0x开头。比如 0x1表示一个16进制数。而1则表示一个十进制。另外如:0xff,0xFF,0X102A,等等.其中的x不用区分大小写(注意:0x中的0是数字0,而不是字母O)。此外,C/C++中,10进制数有正负之分。比如12表示正12,而-12表示负12。但8进制和16进制只能表达无符号的正整数,如果在代码中写-0xF2,C/C++并不把它当成一个负数。以下是一些用法示例:
int a = 0x100F; //用一个十六进制数给变量a赋值
int b = 0x70 + a; //用一个十六进制数+变量a的值给变量b赋值
展开全部
0x前缀表示16进制
0x00=0
0x100=1*16^2+0*16^1+0*16^0=256
结果应该是0*256=0
0x00=0
0x100=1*16^2+0*16^1+0*16^0=256
结果应该是0*256=0
追问
若换成temp=0xff*0x100
那可以看成是将0xff向左移动8位吗
追答
0xff=15*16+15=255 2进制为11111111
0x100=256
0xff*0x100=255*256=65 280 2进制1111111100000000
那么我们看一下。0xff向左移动8位是什么
11111111
左移8位
1111111100000000,也就是0xff*0x100的2进制码
所以是可以看做左移8位的
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结果等于0;因为0x 是16进制的标识,第一个0x00也是0,什么数乘以0都是0;
可以看成左移8位
可以看成左移8位
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
0x00*0x100=0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
0x00就是0 乘多少都是0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询