小白初学,C语言中的进制转换代码不懂
二进制的:while(b[i++]=t%2,t=t/2);这个是什么意思啊???才刚学到十进制转换为二进制的代码,有一个比较复杂的词不懂,应该是以后要学的,但就是想搞懂,...
二进制的:while(b[i++]=t%2,t=t/2);
这个是什么意思啊???
才刚学到十进制转换为二进制的代码,有一个比较复杂的词不懂,应该是以后要学的,但就是想搞懂,求大神帮帮忙 展开
这个是什么意思啊???
才刚学到十进制转换为二进制的代码,有一个比较复杂的词不懂,应该是以后要学的,但就是想搞懂,求大神帮帮忙 展开
1个回答
展开全部
while(b[i++]=t%2,t=t/2);
小括号里是用逗号分隔的 “逗号表达式”。
一个 表达式 是 b[i++]=t%2,另一个是 t=t/2
逗号表达式 的 值 等于 最右一个表达式的值,即 t=t/2。
while 是循环语句,循环体是空语句,循环条件是 (t=t/2)不等于0,换一句话说, if ((t=t/2)==0) 时 break; 循环结束。
i++ 是后缀加加,后缀加加 在表达式里 用 i, 出了表达式 自增1,i=i+1;
t%2 是整除取余数运算,即,t 是偶数 得 0,t 是奇数 得 1。
t=t/2; 是整除2取商的 赋值运算。
b[] 里存放2进制结果。b[0]是最右的一位。
-----
while(b[i++]=t%2,t=t/2); 可写成:
while(1){
b[i]=t%2; t=t/2;
if (t==0) break;
i++;
}
小括号里是用逗号分隔的 “逗号表达式”。
一个 表达式 是 b[i++]=t%2,另一个是 t=t/2
逗号表达式 的 值 等于 最右一个表达式的值,即 t=t/2。
while 是循环语句,循环体是空语句,循环条件是 (t=t/2)不等于0,换一句话说, if ((t=t/2)==0) 时 break; 循环结束。
i++ 是后缀加加,后缀加加 在表达式里 用 i, 出了表达式 自增1,i=i+1;
t%2 是整除取余数运算,即,t 是偶数 得 0,t 是奇数 得 1。
t=t/2; 是整除2取商的 赋值运算。
b[] 里存放2进制结果。b[0]是最右的一位。
-----
while(b[i++]=t%2,t=t/2); 可写成:
while(1){
b[i]=t%2; t=t/2;
if (t==0) break;
i++;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询