c语言中的按位与运算的一题

[复制链接]
查看11 | 回复3 | 2012-8-30 22:52:06 | 显示全部楼层 |阅读模式
把这个程序贴出来,希望你看得懂:#include#include/*把数a从b进制转换成c进制*/int transfer(int a,int b,int c) {
char s[100];
int rv, n=0, base=1;
while(a)//a从b进制的转化为10进制的
{
n+=(a%10)*base;
...
回复

使用道具 举报

千问 | 2012-8-30 22:52:06 | 显示全部楼层
(3+(int)(x))为10011010 ~3为11111100两个&后为10011000...
回复

使用道具 举报

千问 | 2012-8-30 22:52:06 | 显示全部楼层
要看x是什么类型,(int)(x)对无符号的x和有符号的x是不一样的,如果x为无符号数,则3 + (int)(x) = 0x9a, 而~3为0xfffc, 与运算后最终答案为0x98....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行