请问,这个byte输出什么
byte b = (byte)8;
Console.WriteLine(b);
请问,上面的输出结果是8,怎么会是8呢?byte不是代表一个字节吗?
------解决方案--------------------
肯定是8啊,byte是一种数据类型而已,你写8默认的是int类型,但是你把他显示的转换成了byte类型,又因为8没有超出byte的范围所以就是8啊
------解决方案--------------------
byte默认是10进制的,如果b=(byte)0x18,输出就是24.你原本是十进制的8,输出当然还是8
------解决方案--------------------
一个字节的范围是0—255,8在这个范围内,所以就是8;
byte b = (byte)256;这个在VS中编译是通不过的,因为超过了byte的范围。
int i=256;
byte b=(byte)i; 这个输出结果为0;
楼主可以自己多实验下,多思考下
------解决方案--------------------
C# code
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
byte b = (byte)8;
Console.WriteLine(b);
Console.Read();
}
}
}
------解决方案--------------------
Console.WriteLine对于数值型是按照原来的值输出的,你所谓的“byte不是代表一个字节吗”应该是指字符编码,也就是Ascii编码下面的字节表示,那么你至少要用char类型强制转换才能进行Ascii的对应转换。