读书人

请教这个byte输出什么

发布时间: 2012-09-14 11:53:44 作者: rapoo

请问,这个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的对应转换。

读书人网 >C#

热点推荐