社区
非技术类
帖子详情
判断一个十进制数的位数
zhangwuji154
2010-04-12 03:20:32
不太想用log之类的函数
比如我要求用户输入不能超过N位长度的整数,这个N是可变的
当然,最简单的办法是
if(i >= pow(10, N))
{
数字超过长度。
}
...全文
405
5
打赏
收藏
判断一个十进制数的位数
不太想用log之类的函数 比如我要求用户输入不能超过N位长度的整数,这个N是可变的 当然,最简单的办法是 if(i >= pow(10, N)) { 数字超过长度。 }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
IranCyberArmy
2010-04-12
打赏
举报
回复
可是,这样写,言简意赅呀,
不知道,
我也不清楚,哪位大牛说说,哪种方法最好
zhangwuji154
2010-04-12
打赏
举报
回复
[Quote=引用 3 楼 irancyberarmy 的回复:]
那样还不如log呢
你们没有抓住事件的本质,
if(strlen(itoa(i))>N)
{}
[/Quote]
估计itoa里面也用到了2楼那样的方法,还不如用他那个呢
IranCyberArmy
2010-04-12
打赏
举报
回复
那样还不如log呢
你们没有抓住事件的本质,
if(strlen(itoa(i))>N)
{}
Eleven
2010-04-12
打赏
举报
回复
int GetIntDigit(int nValue)//得到nValue的位数
{
int nPos = 1;
while(nValue/10)
{
nValue = nValue/10;
++nPos;
}
return nPos
}
Eleven
2010-04-12
打赏
举报
回复
DWORD dwValue = 12353546;
int nPos = 1;
while(dwValue/10)
{
dwValue = dwValue/10;
++nPos;
}
CString strText(_T(""));
strText.Format(_T("%d"), nPos);
AfxMessageBox(strText);
这样???
用c语言实现统计
十进制
数
字的
位
数
## 标题 用c语言实现统计
十进制
数
字的
位
数
平时我们统计
一个
十进制
数
字的
位
数
时,可以直接
数
出来。可是如果用c语言的话又该怎样实现呢?(例如给定
一个
数
字1234,如何用c语言直接给出结果呢? )接下来让我们来探讨这个问题。 首先,我们平时
数
位
数
是一位一
位
数
的,那么c语言中可不可以也采用这样方法? 答案是必然的。我们可以采用***丢弃个位***的方法:即从个位开始,每
数
一位就丢掉最后一位,直到最后一位。那在代码中怎样实现丢弃个位这个功能呢?其实很简单,就是让我们的整
数
n每次除以10,利用c语言中..
判断
一个
十进制
数
是几
位
数
因为有0的存在,所以循环体部分至少要循环一次。#include
#include
int bit_num(int n) { int count = 0; do { n = n / 10; count++; } while (n > 0); return count; } int mai
求
十进制
数
的
位
数
偶然做题习得 X:
十进制
数
那么该
数
有多少位 则可以用 N = log10(X)来求得 注:在C++中,可引用log10()函
数
(需带cmath头文件) 同理求得各进制
数
的
位
数
,则可以用loga(b)来求得。 记得所求结果需取整。 ...
c语言中,对于给定的
一个
十进制
数
n,求出它是几
位
数
并求它的各个位的
数
值,顺序输出和逆序输出
不管是顺序输出还是逆序输出,首先都要设计
一个
函
数
来实现统计
十进制
数
字的
位
数
:用tmp标记
十进制
数
的
位
数
,将
数
是否为0作为分类标准。 在逆序输出每一位时需构造while循环语句,循环的次
数
即
十进制
数
的
位
数
,先利用n%10,得到个位并输出,然后利用n/=10来丢弃个位。 在顺序输出中,也是构造while循环语句,循环次
数
即
十进制
数
的
位
数
,先利用n / (int)pow(10.0, i - 1)得到首位并输出,接下来利用n %= (int)pow(10.0, i - 1)将首位丢弃。 #inc...
关于“
十进制
转二进制,求
位
数
”的一点小结
题目描述: 假设有这么
一个
函
数
valueAtBit(num, bit),输入
一个
十进制
数
num,求它的二进制
数
的bit位是多少(注意bit应该从1算起) 以下是几种实现方法的总结: 方法一,最硬核的方法 这个方法模拟了平时我们计算二进制
数
的过程: num除以2,求出得商和余
数
(假设商为resu,余
数
为rest) 拿上次的商resu再除以2,求得新的商resu和本轮的余
数
rest 重复1、2步操作...
非技术类
1,649
社区成员
58,980
社区内容
发帖
与我相关
我的任务
非技术类
VC/MFC 非技术类
复制链接
扫一扫
分享
社区描述
VC/MFC 非技术类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章