C语言问题:怎样获取一个未知数据的最高位?

是这样的~~~~~~~~先用scanf()函数输入一个数据,比方说这是个未知的整形数据吧,怎样用C语言来获取这个数据的最高位呢?我的想法是输入一个数据,程序就自动给我返回... 是这样的~~~~~~~~
先用scanf()函数输入一个数据,比方说这是个未知的整形数据吧,怎样用C语言来获取这个数据的最高位呢?
我的想法是输入一个数据,程序就自动给我返回这个数的最高位!
展开
 我来答
luoye580840
2011-10-08 · 超过21用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:37.4万
展开全部
可以先用一个if语句判断一下输入整数的位数,然后再将输入的数据除以一定的数,如输入2562
先判断出是四位数,然后再除以1000,就变成2.562了,赋给一个整形变量自然得到最高位了
追问
嗯,这个答案就快步入正轨了!
呵呵,我现在纠结着......这程序怎么就知道除以1000,怎么不除以100或者10呢?
怎样获取这个分母?
Mr_idol
2011-10-08 · TA获得超过309个赞
知道小有建树答主
回答量:289
采纳率:0%
帮助的人:250万
展开全部
// 将整数转换为字符串存起来,字符串的第一个字符即是最高位
char toStr[32]; // 32,够长了吧;不要跟我考虑极限,要考虑自己加到一百或一万都可以。
int aNum = 2345325234623652456; // 或者是自己输入的
snprintf(toStr, "%i", aNum);

printf("%c", toStr[0]); // 第一个字符就是最高位了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
adoqq_bd
2011-10-08 · TA获得超过7050个赞
知道大有可为答主
回答量:1818
采纳率:63%
帮助的人:1616万
展开全部
#include <stdio.h>
int main()
{
int i;
scanf("%d",&i);
while(i/10)
{
i=i/10;
}
printf("最高位是:%d",i);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liaozi007bo
2011-10-08 · 超过25用户采纳过TA的回答
知道答主
回答量:99
采纳率:0%
帮助的人:53.4万
展开全部
int a=0;
...
return a & 0x80000000
不过int类型的最高位是标志位正0负1
貌似
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我要背唐诗
2011-10-08
知道答主
回答量:33
采纳率:0%
帮助的人:24.2万
展开全部
int zuigaowei(int a)
{
while(a/10)
{
a=a/10;
}
return a;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式