C#语法技巧:三目运算符、整型提升

表达式:

三目运算符

m=a>b?a:b;

表示先判断a是否大于b,若a>b,则将a的值赋给m,若不符合a>b,则将b的值赋给m

表达式中的类型转换

整型提升

在表达式中,若byte、short、char等在表达式中,则转化为int,例如,两个byte相加,则会转化为两个int相加。

原文地址:https://www.cnblogs.com/YU2018-11-10/p/9976079.html

时间: 2024-11-04 09:29:25

C#语法技巧:三目运算符、整型提升的相关文章

隐式类型转换和整型提升

c整型中的运算总是至少以缺省整型类型的精度来进行的,所以当字符型或者短整型在进行运算时为了获得这个精度,先要提升成普通整型,再运算. 例: char a=127; char b=1; char ret=a+b; 在进行运算时,先进行"整型提升"(提升成整形): char类型的127 是:0111 1111 进行整型提升后是:00000000 00000000 00000000 01111111 char类型的1 是:0000 0001 整型提升后是:00000000 00000000

【C语言】整型溢出和整型提升

什么是整型溢出: C语言的整型问题相信大家并不陌生了.对于整型溢出,分为无符号整型溢出和有符号整型溢出. 对于unsigned整型溢出,C的规范是有定义的--"溢出后的数会以2^(8*sizeof(type))作模运算",也就是说,如果一个unsigned char(1字符,8bits)溢出了,会把溢出的值与256求模.例如: unsigned char x = 0xff; printf("%d\n", ++x); 上面的代码会输出:0 (因为0xff + 1是25

语法技巧(三目运算符、switch...case...)

一.三目运算符 三目运算符的一种简便写法: bool b = str == "abc" ? false : true; 当是自身时,实际上别吝啬那一个括号,有一个括号,实际上更容易一看就看懂: int i = 0; i = (i == 0) ? 1 : 0;  实际上这样的代码更好看: bean.BlogCloud_Url = i > 1 ? BlogCloud_Url : BlogCloud_Url + "&page=" + i; 二.switch.

jinja 语法 - 整型转字符串

大多数 jinja 相关的问题,其实查文档就解决了,但后来遇到这个问题,使得我把 jinja 官方文档,api.样例等,认真读了个遍= =. 发现没有直接的办法可以将整型转为字符串,对于需要进行字符串拼接情况,必须将其进行转换才能使用,不然就会报类型错误.然后 jinja 也不能自定义方法来实现.嘛,看起来似乎没办法了. 最后解决办法是: 我还是试了一下在文档中看到的一个将数组转为字符串的办法:{{ [1, 2, 3]|join }},然后,我试着这样写 {{ [num]|join }},于是就

【转】浮点型转换整型的快速方法介绍

原文网址:http://blog.csdn.net/leakers_zzw/article/details/8005762 [注明] 现有的Intel中的SSE指令 cvtps2dq XMM,XMM/m128 支持把源存储器4个单精度浮点数变成4个双字有符号整数,结果送入目的寄存器,内存变量必须对齐内存16字节,另外还有其他指令支持双精度和整型的转换. 转载本文,作为C算法设计的探讨. 在计算机图形运算中,常常要将浮点数转换为整数,例如在图像的光栅化阶段,就要执行大量的类型转换,以便将浮点数表示

编译器是如何实现32位整型的常量整数除法优化的?[C/C++]

引子 在我之前的一篇文章[ ThoughtWorks代码挑战——FizzBuzzWhizz游戏 通用高速版(C/C++ & C#) ]里曾经提到过编译器在处理被除数为常数的除法时,是有优化的,今天整理出来,一来可以了解是怎么实现的,二来如果你哪天要写编译器,这个理论可以用得上.此外,也算我的一个笔记. 实例 我们先来看一看编译器优化的实例.我们所说的被除数为常数的整数除法(针对无符号整型, 有符号整型我们后面再讨论),指的是,对于unsigned int a, b, c,例如:a / 10, b

C语言的整型溢出问题(转)

整型溢出有点老生常谈了,bla, bla, bla… 但似乎没有引起多少人的重视.整型溢出会有可能导致缓冲区溢出,缓冲区溢出会导致各种黑客攻击,比如最近OpenSSL的heartbleed事件,就是一个buffer overread的事件.在这里写下这篇文章,希望大家都了解一下整型溢出,编译器的行为,以及如何防范,以写出更安全的代码. 什么是整型溢出 C语言的整型问题相信大家并不陌生了.对于整型溢出,分为无符号整型溢出和有符号整型溢出. 对于unsigned整型溢出,C的规范是有定义的——“溢出

C#时间转整型(时间戳),模仿php strtotime函数的部分功能

今天需要将一个基于MS SQL数据库的新闻系统数据导入phpcms v9,源系统新闻日期格式为"2014-01-15 10:45:49",而phpcms中使用的是整型时间戳,在php中很简单,用strtotime()即可:在C#中,需要自己写函数,步骤如下: 步骤1.先计算phpcms中时间戳所用基准时间: 1 TimeSpan ts = new TimeSpan(0,0,0,1389753949); 2 DateTime now = Convert.ToDateTime("

变量常量整型浮点型

变量:可以改变的量    int a=5;a=10; 常量:不可以改变的量    语法: final 数据类型 常量名称=常量值 如:   final int a=123; final double p = 3.14;      常量声明后不可以改变,否则报错; 整数的四种声明类型: byte丶short丶int丶long long类型赋值必须加L后缀,否则造成精度的丢失会报错 整型: 十进制: int a=3; 八进制:int b=033;    十六进制: int c=0x33;     浮