不用if,条件表达式,switch等判断语句------找出两个数a,b中较大的int c = a - b; char *strs[2] = {"a large","b large"}; c = unsigned(c) >> (sizeof(int)*8 - 1); cout

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/17 08:21:38
不用if,条件表达式,switch等判断语句------找出两个数a,b中较大的intc=a-b;char*strs[2]={"alarge","blarge"};c=unsigned(c)>>(si

不用if,条件表达式,switch等判断语句------找出两个数a,b中较大的int c = a - b; char *strs[2] = {"a large","b large"}; c = unsigned(c) >> (sizeof(int)*8 - 1); cout
不用if,条件表达式,switch等判断语句------找出两个数a,b中较大的
int c = a - b;
char *strs[2] = {"a large","b large"};
c = unsigned(c) >> (sizeof(int)*8 - 1);
cout

不用if,条件表达式,switch等判断语句------找出两个数a,b中较大的int c = a - b; char *strs[2] = {"a large","b large"}; c = unsigned(c) >> (sizeof(int)*8 - 1); cout

你好!这个题目不错啊~~

主要考负数的补码表示形式,还有正数与负数的右移运算区别;

int c=a-b;  当a<b时,c为负数,其最高位为符号位为1;比如1000010101010110..符号位为0表示为正数;符号位为1表示负数

unsigned(c) >> (sizeof(int)*8 - 1); 

首先将C转换成无符号int型,再右移31bit;这样得到了c这个数的符号位;

 

为什么要unsigned(c)

unsigned(c)将c变为无符号整形, 这样右移运算时,高位补0; 而负数的右移运算将高位补1

 

最后出来的结果 要么是0,要么是1

 

------------------------

给分我吧~

不用if,条件表达式,switch等判断语句------找出两个数a,b中较大的int c = a - b; char *strs[2] = {a large,b large}; c = unsigned(c) >> (sizeof(int)*8 - 1); cout 不能用 ,if ,switch 等一切判断的词,如何实现两个数大小的比较? if语句条件表达式 C++帮忙写一个最简单的程式.要用上 if/for/while/switch 等四种逻辑/条件判断,至少要利用两种以上.使用函数并需呼叫使用,最好有注解. lisp语句条件表达式lisp语句中,if条件句,如果条件中有多个判断,如何实现,比如,当-0.4 EL表达式中可不可以带多个条件这个判断是需要满足多个条件的,用el表达式判断,类似if(a==b&&c==d){}这种样子的,用el表达式该怎么写呀 if条件表达式成立时,表达式的值应该是多少 请问条件表达式“?:”和if+else条件语句的区别? 用条件表达式替代if-else语句的规律 if和switch的转换if (a if语句中的条件表达式中只能使用关系或逻辑表达式吗? 在VB中,If语句中的条件表达式中只能使用关系或逻辑表达式? 在一个while循环中使用switch case判断,符合某种条件时就跳出while循环, 如何将多个条件判断语句改写成其它形式,要求运行效率高.怎样将if() else...if() else...if() else...怎样将if()else()if()else()if()else()等很多个条件判断改成更高效的,求高手指导.我之前有采用一个方法 if领导的条件状语从句用any不用some? if领导的条件状语从句用any不用somert C 语言 判定两个值相等先说条件,现有两个值 要判断这两个值相等 相等输出1 不相等输出0 而且不能用任何loop,if else,switch == 大于小于号之类 不能用bool 类型 说白了只能进行纯计算.请会的私 switch语句中怎么规定条件