C#中byte类型运算
首先看下面一段代码
byte x = 1;
byte y = 2;
byte z = x + y;
Console.WriteLine(z);
可能很多人会说显示结果是3。
其实,这段代码无法运行,因为编译就不通过报错,错误原因:错误 1 无法将类型“int”隐式转换为“byte”。存在一个显式转换(是否缺少强制转换?)
因为,byte类型之间运算会隐式转换成int类型,然后对int类型值进行运算,得到的结果是int类型,所以直接用byte类型变量保存结果会报错。实际上short和char类型相互运算操作也做这样的处理。之所这样设计,可能byte、short和char类型相互运算操作,数值可能会发生溢出错误,所以在运算的时候直接都转换为int来运算,达到强制结果用int类型保存。
如果认为运算后结果不会溢出的情况,可以显式保存结果
byte x = 1;
byte y = 2;
byte z = (byte)(x + y);
Console.WriteLine(z);
再看下面这段代码
byte z = 1 + 2;
Console.WriteLine(z);
在vs上编译和运行没问题的,结果是3。
1+2是常量运算,得到的就是3,然后赋值给z。
C#中byte类型运算的更多相关文章
- C++开发中BYTE类型数组转为对应的字符串
下午密码键盘返回了一个校验码,是BYTE类型数组,给上层应用返回最好是字符串方式,怎样原样的将BYTE数组转为string串呢?不多说,开动脑筋上手干!!! BYTE格式的数组bt{08,D7,B4, ...
- Java 中 byte 类型初始化问题
很早的时候由于工作需要,接触过一点 Java,于是有了这个坑,今天回头看到自己在 Stackoverflow 上提的问题发现了它,于是再记录下. 在使用中,需要将 byte 类型的的每一位都置 1.我 ...
- 关于JAVA中Byte类型的取值范围的推论(*零为正数,-128在计算机中的表示方法...)
先看一段推理<*一切都是在8个比特位的前提下,讨论二进制的符号位,溢出等等,才有意义*> +124:0111 1100 -124:1000 0100 +125:0111 1101 -125 ...
- Java中Byte类型数据在运算中的问题
比如: byte a=1; byte b=2; byte c; c=a+b; //这样是计算不出c,是错误的 c=a+1; //这样也是不能计算c的 c=64+1; //为什么这样就能计算c,在Jav ...
- JAVA中double类型运算结果异常的解决
问题: 对两个double类型的值进行运算,有时会出现结果值异常的问题.比如: System.out.println(19.99+20); System.out.println(1.0-0.66); ...
- C#中byte[]类型转换为其它类型
我们这里就举byte[]类型和long类型的转换,其它数据类型用BitConverter类以此类推: /// <summary> /// 字节数组转换为long类型 /// </su ...
- java中byte类型
http://www.cnblogs.com/Robotke1/archive/2013/05/25/3099309.html ------------------------------------ ...
- C#中byte类型转换为double类型
// Initialize unmanged memory to hold the array. int size = Marshal.SizeOf(bytes[0]) * bytes.Length; ...
- 详解java中的byte类型
Java也提供了一个byte数据类型,并且是基本类型.java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127,也就是signed byte.下面这篇文章主要给大家介绍了关于j ...
随机推荐
- HDU 5883 The Best Path (欧拉路或者欧拉回路)
题意: n 个点 m 条无向边的图,找一个欧拉通路/回路使得这个路径所有结点的异或值最大. 析:由欧拉路性质,奇度点数量为0或2.一个节点被进一次出一次,度减2,产生一次贡献,因此节点 i 的贡献为 ...
- Node学习图文教程之express重写留言本案例
写在前面 小伙伴们大家好,我是你们的pubdreamcc,接着前面的学习,这篇博文出至于我的GitHub仓库:Node学习教程资料,如果你觉得对你有帮助,欢迎star,你们的点赞是我持续更新的动力,谢 ...
- 20170407-ms
invoke v调用 dismiss v解雇 exclusive adj. 专用的; 高级的; 排外的; 单独的; n. 独家新闻; 专有物; 独家经营的产品(或项目.设计等); 排外者; ex ...
- 基于FBX SDK的FBX模型解析与加载 -(三)
http://blog.csdn.net/bugrunner/article/details/7229416 6. 加载Camera和Light 在FBX模型中除了几何数据外较为常用的信息可能就是Ca ...
- 洛谷 P1314 聪明的质监员【二分+前缀和】
真是zz, 题目很显然是二分W,然后判断,我一开始是用线段树维护当前w[i]>W的个数和v(公式就是区间满足要求的个数*满足要求的v的和),然后T成70 后来想到树状数组差分常数或许会小,于是改 ...
- Firefox下载安装fireBug提示下载出错的解决方案
火狐官方扩展中心在国外,国内可能访问某一节点出现了问题.所以可能扩展无法安装,并且扩展更新可能出现问题,导致启动检查扩展更新过慢影响启动.我们可以通过修改系统hosts文件加速访问.修改hosts文件 ...
- pip 安装出现提示
The directory '/home/zdj/.cache/pip/http' or its parent directory is not owned by the current user a ...
- JSP | 基础 | 两种方式循环输出
用循环连续输出三个你好,字体从小变大 第一种: <body> <%! //通过表达式方式调用实现 String HelloJSP1(){ String str = "&qu ...
- 记忆化搜索(DFS+DP) URAL 1223 Chernobyl’ Eagle on a Roof
题目传送门 /* 记忆化搜索(DFS+DP):dp[x][y] 表示x个蛋,在y楼扔后所需要的实验次数 ans = min (ans, max (dp[x][y-i], dp[x-1][i-1]) + ...
- jmeter(二十二)jmeter测试Java请求
目的:对Java程序进行测试 目录 一.核心步骤 二.实例 三.JMeter Java Sampler介绍 四.自带Java Request Sampler 一.核心步骤 1.创建一个Java工程: ...