Duanxx的C++学习:计算数字的位数

以前计算一个数值的位数,使用的基本上就是不停的除以10,再计数,看到底有多少位数。

今天发现可以考虑先将数字转换为字符串,然后通过string.length获得数值的位数,这样做方便的多。

string num2str1(unsigned int num)
{
	stringstream ss;
	ss<<num;
	return ss.str();
}

string num2str2(unsigned int num)
{
	char str_[10];
	sprintf_s(str_,"%d",num);
	string str = str_;

	return str;
}

///<直接计算出数字的位数
unsigned int getLenOfNum1(unsigned int num)
{
	unsigned int counter = 1;
	while (num/10)
	{
		counter++;
		num = num/10;
	}
	return counter;
}

///<先转换为字符串,然后在计算位数
unsigned int getLenOfNum2(unsigned int num)
{
	return num2str1(num).length();
}
时间: 2024-10-08 18:16:47

Duanxx的C++学习:计算数字的位数的相关文章

Duanxx的C++学习 : 数字转换为String

这里给出了两种数字转换为String的方式,第一种需要包含头文件:sstream string num2str1(unsigned int num) { stringstream ss; ss<<num; return ss.str(); } string num2str2(unsigned int num) { char str_[10]; sprintf_s(str_,"%d",num); string str = str_; return str; }

Duanxx的图像处理学习: 透视变换(二)

在<Duanxx的图像处理学习:透视变换(一)>中简要的说明了透视变化的算法,这里再进一步的对透视变换做说明. 基于前面的说明,可以很容易发现, 一个变换矩阵有如下你的分区特性: 一般来说,我有一个三维变换矩阵如下: 矩阵中的元素(p , q , r)取非全0时,能产生透视效果 一.一点透视 来看下面一张图: 现在是以z轴上的一点(0,0,d,1)为投影中心,计算P(x,y,z,1)点在XOY平面上的透视投影. 那么,现在很容易知道: 即: 这里取: 那么变换矩阵T,就为: 结果的其次坐标表示

UESTC 250 数位dp(数字相位数之间的差值不小于2)

http://acm.uestc.edu.cn/#/problem/show/250 windy定义了一种windy数. 不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道,在A和B之间,包括A和B,总共有多少个windy数? Input 包含两个整数,A B. 满足 1≤A≤B≤2000000000 . Output Sample input and output Sample Input Sample Output 1 10 9 Source Windy /*

Duanxx的Opencv学习:将视频转换为图片

这里读取一个视频,然后将视频的每一帧都保存为png格式的图片, 本文的代码下载 这里首先要解决的问题是为图片按下标生成名字: 这个函数输入的是对视频中的图像帧的计数,输出的是文件的名字,以png格式保存 名字示例:f00005.png string nameGenerate(unsigned int frameCounter) { unsigned int num = num2str1(frameCounter).length();///<获得数字的位数 assert(num <= 5);//

Duanxx的神经网络学习: 自己动手写神经网络(二) 前馈网络的实现

本文是继续Duanxx的神经网络学习: 自己动手写神经网络(一) 搭建一个简单的网络框架 写的第二篇文章,将神经网络的前馈网络实现并测试. 本文的代码下载地址 1 为神经元Neuron添加权Weight 在上一篇文章中,我已经搭起了一个神经网络的框架. 但是那只是一个框架而已,什么都没有是实现,而这个框架的最基本的东西就是神经元Nenron,这里就考虑将Neuron实现一下. 对于一个神经元而言,它的输入是上一层神经元的输出,可以不用太关心,它也有自己的输出outputvalue,同时,它还要控

PHP:计算小数点后位数

本文提供两种方法,一种将小数变成字符串,然后用"."来截取,去.后的子字符串长度.还有一种是讲小数*10的N次方,比如10的8次方再对8次方取余数,再不断对10求余,直到对10求余的结果不为0. 相比来说,第一种方法要好不少,理由是这样的,比如1.000004在很边界的时候或者0.99999这样子PHP处理会有问题,会有误差,导致得到的位数不一样.而且精度难以把握,所以处理这种跟边界有关的问题最后能用字符串还是字符串来做. 第一种 private function _getFloatL

Duanxx的图像处理学习: 透视变换(三)

我们常见的坐标系是笛卡尔坐标系,也就是在<Duanxx的图像处理学习:透视变换(一)>中提到的世界坐标系. 而从观察这的角度来看的话,就是<Duanxx的图像处理学习:透视变换(一)>中提到的摄像头坐标系. 在观察者坐标系(摄像头坐标系)中,我们一般以观察者(或者叫做视点)为观察者坐标系的原点,以观察点到物体的方向为z轴,以向左且与z轴垂直的方向为x轴,与x轴和y轴垂直向上的方向作为y轴,构成观察者坐标系. 因为本文所有的操作都是基于<Duanxx的图像处理学习:图像变换 三

Python(66)_判断用户传入的参数str中计算数字,字母,空格,以及其他的个数,并返回结果

#-*-coding:utf-8-*- ''' 写函数,判断用户传入的参数str中计算数字,字母,空格,以及其他的个数,并返回结果 ''' content = input('>>>') def func(s): num = 0 alpha = 0 space = 0 others = 0 dic ={ 'num':0, 'alpha':0, 'space':0, 'other':0 } for i in s: if i.isdigit(): dic['num'] +=1 elif i.i

蓝懿 2015 IOS 学习笔记 数字运算 随机值 图形关联

来蓝懿教育学习的第一天,由刘国斌老师独家授课教学,一天下来感觉很充实,并且在没有任何基础之上学到如何在Xcode中运用简单的数字运算与图形关联方法.刘老师教课方式比较有趣生动,班级很活跃,我们这一批学员人数较少,所以学习气氛浓郁,把今天的笔记整理一下. ————————————首先是简单数字运用计算——————————————— ? ? int c =1231233123; float a = 10; float b = 232.23; float d = a-b-c; NSLog(@"%f&q