社区
C#
帖子详情
求教一个double到一个byte[]的算法
wxwx110
2006-07-30 02:44:00
非负有一个double最大值不超过2^24最多保留2位小数
求一个算法把这个double值得2进制表示放到一个三字节数组中,不够的补0
例如3 得2进制11
存放到字节数组中的时候应该是 00000000,00000000,00000011
应当如何实现?(使用c#)
...全文
167
5
打赏
收藏
求教一个double到一个byte[]的算法
非负有一个double最大值不超过2^24最多保留2位小数 求一个算法把这个double值得2进制表示放到一个三字节数组中,不够的补0 例如3 得2进制11 存放到字节数组中的时候应该是 00000000,00000000,00000011 应当如何实现?(使用c#)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
超级大笨狼
2007-02-06
打赏
举报
回复
最大值不超过2^24
用整数就可以、
Convert.ToString(Math.Pow(2,24),2);
Knight94
2006-07-30
打赏
举报
回复
不过你的设计有二义性,例如:0.3与3,按照你的转换来说是相同的,所以还是固定位数,整形部分前两个byte,小数后面一个byte,这样的话应该如下:
private byte[] DoubleToBytes( double dValue )
{
int nValue = (int)( dValue * 100 );
byte[] bData = new byte[3];
bData[2] = (byte)(nValue % 100);
int nIntegerPart = ( nValue - bData[2]) / 100;
bData[1] = (byte) ( nIntegerPart & 0xFF );
bData[0] = (byte) ( nIntegerPart >> 8 );
return bData;
}
Knight94
2006-07-30
打赏
举报
回复
至于显示,把一个byte转换成8位2进制的字符串,可以如下:
string strValue = Convert.ToString( yourByte, 2 ).PadLeft( 8,'0' );
Knight94
2006-07-30
打赏
举报
回复
自己转吧
例如:
private byte[] DoubleToBytes( double dValue )
{
int nValue = (int)( dValue * 100 );
byte[] bData = new byte[3];
bData[2] = (byte)(nValue % 100);
int nIntegerPart = ( nValue - bData[2]) / 100;
if( bData[2] == 0 )
{
bData[2] = (byte) ( nIntegerPart & 0xFF );
bData[1] = (byte) ( nIntegerPart >> 8 );
}
else
{
bData[1] = (byte) ( nIntegerPart & 0xFF );
bData[0] = (byte) ( nIntegerPart >> 8 );
}
}
wxwx110
2006-07-30
打赏
举报
回复
补充一下,如果包含小数,前两个字节放整数部分,后一个字节放小数部分,
【转】C/C++字节对齐
算法
现代计算机中内存空间都是按照
byte
划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,...
2021 Java面试真题集锦
用简历争取到更多的面试机会 19 自我介绍时,立即全面抛出技术栈和亮点 20 先介绍项目背景,打消面试官疑问 21 通过说项目管理工具,说明你不仅会写代码 22 用 SPRING BOOT 项目举例,说明你的技术基本面 23 用实例...
常见的一些
算法
-------------------------------------------------------------------------------- 第1楼 发信人: Marslv (梦幻人生), 信区: Program 标 题:
算法
--黑白棋子(转) 发信站: BBS汕头大学郁金香站 (Sat Oct 21 23:57...
常见
算法
首页 论坛 新闻 文章 下载 源码 网友作品 合作开发 招聘 刻盘服务 编程爱好者光盘 请登陆或者注册新用户 用户名 密 码 记住密码 注册新用户 忘记密码了 您所在位置:编程爱好者...我见到过的一些常用
算法
C
Java面试题
一、java知识 ... boolean/
byte
/char/short/int/long/float/
double
,这些类型有个特点,就是变量直接存储值。 https://blog.csdn.net/woshisangsang/article/details/90442401 Java中的基本类型与...
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章