当前位置: 技术问答>linux和unix
关于进制之间转换的算法问题,高手指点!
来源: 互联网 发布时间:2016-05-30
本文导语: 我想请教一下,将一个整型数字(如 124)分别转换为二进制、八进制、十六进制,有不有什么算法?高手能给下比较全的代码更好,十分感谢。 还有一个问题就是,一个浮点型的数字(如123.456),怎么只取...
我想请教一下,将一个整型数字(如 124)分别转换为二进制、八进制、十六进制,有不有什么算法?高手能给下比较全的代码更好,十分感谢。
还有一个问题就是,一个浮点型的数字(如123.456),怎么只取它的整数部分(123)或者小数部分(0.456),这个格式。
补充一下,是用C语言实现。
还有一个问题就是,一个浮点型的数字(如123.456),怎么只取它的整数部分(123)或者小数部分(0.456),这个格式。
补充一下,是用C语言实现。
|
转换二进制、八进制、十六进制需要算法吗?只有转换为字符串的时候需要这样的算法吧,sprintf里的%o%x什么的都解决了
第二个问题:
double d = 123.456;
int x = (int)d;
double y = d-(int)d;
第二个问题:
double d = 123.456;
int x = (int)d;
double y = d-(int)d;
|
第二个问题,我这个低手来丢下丑。。
#include "config.h"
int main()
{
float _float_number = 123.456f ;
int _get_int_value ;
float _get_float_value ;
_get_int_value = (int)_float_number;
LOG(LOG_DEBUG, "Get value IntegerValue = %d.", _get_int_value );
_get_float_value = _float_number - (int)_float_number;
LOG(LOG_DEBUG, "Get value Float = %f.", _get_float_value );
}
|
给你举个例子
char bin[32];
while(ival>0){
bin[n++]=ival&0x01;
ival>>1;
}
把bin[]反过来输出就好了
浮点数取整
double floor( double arg );
就可以了,标准的C MATH
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。