byte、short、char和int的转换

从低级类型到高级类型的转换为自动类型转换,把高级数据类转赋值给低级数据类需要强制类型转换
(低)byte、short、char->int->long->float->double(高)
其中byte类型数据可以自动转换成short类型。
short类型数据和char类型数据之间相互转换只能强制类型转换,因为它们虽然内存占用相同但是表数范围不(short是-128~127,char是0~65535)。
byte、short、char之间计算不会互相转换,而是转换成int再计算,即使是同类型间计算也会先转换成int再计算,计算后赋值给byte、short、char需要强制类型转换。

在 .NET 中,byte 类型可以通过隐式转换转换shortchar 类型,然后又可以通过隐式转换转换int 类型。 byte 类型是一个无符号的8位整数,其取值范围为 0 到 255。short 类型是一个有符号的16位整数,其取值范围为 -32768 到 32767。char 类型是一个无符号的16位整数,其表示 Unicode 字符。 由于 byte 类型的取值范围小于 short char 类型,因此可以将 byte 类型的值隐式转换shortchar 类型。 例如,我们可以使用以下代码进行转换byte myByte = 100; short myShort = myByte; // byteshort char myChar = (char)myByte; // bytechar 在这个实例中,我们先将 byte 类型的变量 myByte 的值设置为 100。然后,我们将 myByte 隐式转换short 类型,并将结果存储在 myShort 变量中。由于 short 类型的取值范围大于 byte 类型,没有发生数据丢失。 接着,我们将 myByte 强制转换char 类型,并将结果存储在 myChar 变量中。由于 char 类型也是一个无符号的整数类型, byte 类型类似,因此可进行转换。在这种情况下,我们使用强制转换操作符来确保数据类型的转换。同样地,由于 char 类型的取值范围大于 byte 类型,没有发生数据丢失。 最后,如果需要将 shortchar 类型的值转换int 类型,则可以直接隐式转换int myInt = myShort; // shortint int myInt2 = myChar; // charint 通过这些转换,我们可以根据需求在不同的数据类型之间进行转换
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值