Here is a simple example, what is the output of this program?
```
include
using namespace std;
int main()
{
float f = 0.0;
int i = 5;
f = (float)i;
cout<
继续阅读 »
最近在做一个项目,其中有一段判断一个Extended浮点数是否为整数的代码。我用如下方式实现:
pascal
function IsInt(F: Extended): Boolean;
begin
result := Trunc(F)-F = 0; //整数部分等于自身
end;
测试了许多样例都过了,唯独这个没过:
pascal
IsInt(4.000000002*1000000000); //False
调试时发现: Trunc(F)居然等于4000000001!开始以为是精度的问题,找了许多资料也没能解决。后来将Extended换成了Double,就通过了。百思不得其解中。
继续阅读 »
Web
先说说自己Web方面的东西吧。
JavaScript感觉写的还不错了。彻底扔掉低版本脑残浏览器了。布局转到Flex,再不用坑比无数的float了。
尝试了React,最后决定倒腾Vue。玩过一阵子Angular1,可能以后会试试Angular2吧。
继续阅读 »
学习Java多线程中会遇到使用volatile关键字的情况。
volatile关键字用于声明简单类型变量,如int、float、boolean等数据类型.
volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。
当要求使用volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数据。而且读取的数据立刻被保存
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchroniz
继续阅读 »
Android中实现圆角图片有多种姿势,不知你解锁了几种?
more
方法一:setXfermode法
此种方式就是再new一个相同尺寸的bitmap,然后使用paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));先画圆角矩形,再画原始bitmap,然后就得到了一个圆角的bitmap了。
```java
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, float roundPx) {
继续阅读 »
Preamble
这里我把视觉模型谈谈,还没写完,从最重要的有价值的章节(我管它叫做MVS,如果喜欢篮球应该对MVP很了解吧)开始写的,后续还会写,不要因为里面有的只有标题就冲我扔臭鞋。
9.1 可视化格式化模型(Visual Formatting Model)
这章和接下来描述了可视化格式化模型(VFM):用户代理如何在可视媒体上处理文档树.
在VFM中,每个在文档树中的元素参照盒子模型生成0个或多个盒子。这些盒子的布局由以下几方面掌控:
盒子的尺寸和类型
位置方案(普通流、float和绝对定位)
元素在文档树中的关系;
外部信息(比如viewport的尺寸、图片等实际尺寸等)
这章和接下来定义的属性适用于continu
继续阅读 »