当前位置:  开发笔记 > 编程语言 > 正文

c#中的字节转换

如何解决《c#中的字节转换》经验,为你挑选了2个好方法。

使用此代码无法获得正确的结果.插入300作为int后,我得到44作为转换后的字节值.

我期待255,因为这是最接近300.

Console.Write("Enter int value - ");
val1 = Convert.ToInt32(Console.ReadLine());

// converting int to byte
bval1 =  (byte) val1;
Console.WriteLine("int explicit conversion");
Console.WriteLine("byte - {0}", bval1);

小智.. 6

单个无符号字节可以保存0到255或0x00到0xff的范围.300大于256所以它"环绕"或从0. 300 - 44 = 256再次开始计数,那就是你的包裹.



1> 小智..:

单个无符号字节可以保存0到255或0x00到0xff的范围.300大于256所以它"环绕"或从0. 300 - 44 = 256再次开始计数,那就是你的包裹.



2> Alexei..:

您刚刚遇到字节溢出.尝试使用实际上可以容纳您使用的数字的类型.

[编辑]

它看起来也可以在C#中检查转换:

bval1 =  checked ((byte) val1);

OverflowException当值太大时,有适当的异常()

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有