11月27日是什么星座| 房水是什么| 四月十五什么星座| 五指毛桃有什么功效| 黑眼圈看什么科| 梦见蛇追我是什么预兆| 冲猴煞北是什么意思| 边长是什么| 为什么会有霉菌性阴道炎| 羟基丁酸在淘宝叫什么| 考护士证需要什么条件| 湿气重喝什么| 心肌劳损的症状是什么| 雍是什么意思| 吃鸡蛋补什么| 眼窝凹陷是什么原因| 四氯化碳什么颜色| 今天吃什么菜| 柠檬酸是什么| epl是什么意思| 牙痛吃什么药| 细佬是什么意思| 但微颔之的之是什么意思| 均金念什么| 什么叫放疗治疗| 未时左眼跳是什么预兆| 318是什么日子| 病入膏肓什么意思| 什么的小花| 苏打水有什么作用| 火供是什么意思| 什么盛名| 冰毒是什么| 耳朵疼是什么原因| 经是什么意思| 心什么诚什么| 鹤字五行属什么| 拔完智齿后需要注意什么| 农历六月十九是什么日子| 流汗太多对身体有什么危害| 留置针是什么| bpd是胎儿的什么| na是什么| 脾胃虚吃什么调理| 什么叫白癜风| 定向招生是什么意思| 朋友妻不可欺是什么意思| 刻舟求剑什么意思| 受罪是什么意思| 超敏c反应蛋白正常说明什么| 片仔癀是什么| 666什么意思| 武则天代表什么生肖| 胰腺的作用和功能是什么| 1998年五行属什么| 软组织肿胀是什么意思| 木薯是什么| 什么颜色最吸热| 寅虎是什么意思| 沉积是什么意思| 皮肤脱皮是什么原因| 男宝胶囊为什么不建议吃| 一什么门牙| 5月8号是什么星座| 白茶泡出来是什么颜色| 女生没有腋毛代表什么| 供给侧改革什么意思| 洗衣机脱水是什么意思| 清宫手术后需要注意什么| 无间是什么意思| 小腿肚酸疼是什么原因| 茴三硫片主治什么| 淘宝什么时候有活动| 什么是小针刀治疗| 经期有血块是什么原因| 核心抗体阳性是什么意思| 脱敏处理是什么意思| 鸡属于什么科| 1990属什么生肖| 梦见烙饼是什么意思| 柯什么意思| 芊芊是什么意思| 手指变形是什么原因| 肠胃属于什么科| 短裙配什么鞋子好看| 下压高是什么原因引起的| 心率过快会有什么后果| 肠道问题挂什么科| 排暖期是什么时候| 癫疯病发作前兆有什么症状| ccs医学是什么意思| 阿胶是什么做的| 长河落日圆什么意思| 孩子感冒发烧吃什么药| winner是什么意思| 6月7号是什么星座| 治疗梅毒用什么药最好| 烂尾楼是什么意思| 人彘为什么还能活着| 日照有什么好吃的| 巴黎世家是什么| 口水臭是什么原因引起的| 拖拖拉拉什么意思| 没睡好头疼是什么原因| 做脑部检查挂什么科| 吩咐是什么意思| 脖子发麻是什么原因| 疫情是什么| 双肾小结石是什么意思| 冲击波治疗有什么效果| cdr是什么意思| 手脚发抖是什么原因引起的| 压力是什么| 猫吃什么下奶最快最多| 肠胃功能紊乱什么症状| 甘肃天水有什么好玩的地方| 什么叫空调病| 怀男孩和女孩有什么区别| 例假推迟是什么原因| 什么是卤水| 贻笑大方是什么意思| 医学美容技术学什么| 打牛是什么意思| 口干舌燥口苦是什么原因引起的| 拱是什么意思| 自由意志是什么意思| 提拉米苏是什么东西| 双相是什么| 莫欺少年穷是什么意思| 为什么大医院不用宫腔镜人流| 什么可以吃| icu和ccu有什么区别| 为什么明星整牙那么快| 排毒吃什么最好能排脸上毒| 六月不搬家是什么意思| 年终奖一般什么时候发| 附耳是什么意思| 相夫教子是什么意思| 核桃壳有什么用处| 孕妇c反应蛋白高说明什么| 小甲鱼吃什么| 1117什么星座| 膀胱炎做什么检查能看出来| 婴儿蓝是什么颜色| 右束支传导阻滞是什么意思| 上海是什么省| 喘不上气吃什么药见效| 九五至尊是什么生肖| wlw是什么意思| 肌张力高有什么表现| 女流之辈是什么意思| 拉屎臭是什么原因| 蝉代表什么生肖| 一个大一个多念什么| 三月是什么星座| 潘氏试验阳性说明什么| 头经常晕是什么原因| 正月二十一是什么星座| 龙和什么属相最配| 胃萎缩是什么意思| 书生是什么意思| 甲状腺结节有什么症状表现| 半身不遂的前兆是什么症状| 手腕疼是什么原因| 实操是什么意思| 切除扁桃体有什么好处和坏处| 什么是抗性淀粉| chick是什么意思| 马齿苋不能和什么一起吃| 熬夜伤什么| 蛋白粉什么时候喝效果最好| 油漆味对人有什么危害| 血糖高吃什么水果降糖| 朗格手表什么档次| 什么是类风湿性关节炎| pet什么意思| 鸠是什么鸟| 怎么判断自己什么脸型| 狗为什么不吃饭| rbc是什么意思医学| 吃芒果对身体有什么好处| 月经期适合吃什么水果| 小学生什么时候放暑假| 喝中药不能吃什么东西| 疖是什么意思| 三七粉做面膜有什么功效| 孕妇感冒可以吃什么感冒药| 雄字五行属什么| 高碎是什么茶| 月经前几天是什么期| 黄色配什么颜色最搭| 三跪九叩是什么意思| 脾虚是什么症状| ex是什么意思| 穷奢极欲什么意思| 炸鱼是什么意思| 无什么| 肾阳虚吃什么药最好最有效| 砂仁为什么要后下| 耳结是什么原因造成的| 孕妇鼻子出血是什么原因| 说什么| 五十岁是什么之年| 肾活检是什么意思| 每天喝奶茶有什么危害| 什么水果最好吃| 小孩咬手指甲是什么原因| 石斛有什么功效和作用| 你最喜欢的食物是什么| 术后吃什么营养品好| 肝火旺盛失眠吃什么药| 副教授是什么级别| 呼吸快是什么原因| 女性朋友生日送什么礼物好| whirlpool是什么牌子| 筒子骨炖什么好吃| 100001是什么电话| 5月25号是什么星座| 肾亏吃什么好| 大拇指有黑色竖纹是什么原因| 子宫癌有什么症状| 晚安安是什么意思| 喉炎吃什么药| 什么人容易得帕金森病| 前三个月怀孕注意什么| 烤箱能做什么美食| 产妇刚生完孩子适合吃什么| 三氧化硫常温下是什么状态| 芒果过敏用什么药| 阴茎越来越小是什么原因| 上颚疼吃什么药| 为什么会耳鸣| 拆骨肉是什么肉| 为什么总是做噩梦| 虚岁27岁属什么生肖| 巨蟹座跟什么星座最配| 姑爷是什么意思| 气管憩室什么意思| 素的部首是什么| 白细胞计数偏高是什么原因| 尿失禁吃什么药最好| 胎位lop是什么意思| 榆钱是什么| 会所是什么意思| 严惩不贷是什么意思| 茯苓的功效与作用是什么| 口干口苦口臭吃什么药| 什么芦荟可以直接擦脸| 手足无措的意思是什么| 1951年属什么| 什么是唐氏儿| 826是什么意思| 中秋节是什么时候| 秫米是什么米| 12年是什么婚| 红艳桃花是什么意思| 女性风湿吃什么东西好| 歆字取名什么寓意| 食道疼是什么原因| 天丝是什么材料| 早上适合做什么运动| 翻新机是什么意思| 陶土色大便是什么颜色| 刘伯温属什么生肖| 百度

智慧松德一季度业绩预增逾六倍

百度 产品方面今年厂商们大讲特讲的AI,倪飞认为尚未成熟。 播报讨论上传视频
实数运算
收藏
0有用+1
0
浮点运算就是实数运算,因为计算机只能存储整数,所以实数都是约数,这样浮点运算是很慢的而且会有误差。
大多数机器都是32位的,也就是说32位都用来表示整数的话,那么对于无符号整数就是0 到 2^32-1,对于有符号的话就是-2^31 到 2^31-1。
中文名
浮点运算
外文名
floating point arithmetic
性    质
实数运算
原    因
计算机只能存储整数
特    点
实数都是约数

基本特征

播报
编辑
当我们用不同的电脑计算圆周率时,会发现一台电脑的计算较另一台来讲结果更加精确。或者我们在进行枪战游戏的时候,当一粒子弹击中墙壁时,墙上剥落下一块墙皮,同样的场面在一台电脑上的表现可能会非常的呆板、做作;而在另外一台电脑上就会非常生动形象,甚至与我们在现实中看到的所差无几。这都是浮点运算能力的差异导致的。
如果是实数的话,就不是这样了,机器有两种办法表示实数,一种是定点,就是小数点位置是固定的,一种是浮点,就是小数点位置不固定,计算方法也比较麻烦,通常会比整数运算代价大很多。
FPU->Floating Point Unit,浮点运算部件。
BCD->Binary Coded Decimal 压缩的二进制数,是用4个位来表示数字0~9,一个byte表示两个十进制数,比如正常二进制数1001111表示79,而BCD中用 0111 1001 来表示79。
科学计数法:a×10的n次幂的形式。将一个数字表示成 (a×10的n次幂的形式),其中1≤|a|<10,n表示整数,这种记数方法叫科学记数法

数据

播报
编辑
浮点运算使用三种不同的数据:
1)整数(Integer),又分为字,短整数(Short Integer)和长整数(longint)。
2)实数(Real)分单精度(Single Real)和双精度(Double Real)。
3)压缩的二十进制数(BCD)。
下面是其位数(bits)和能表示的大致范围和
Type Length Range
-----------------------------------------------
Word Integer 16 bit -32768 to 32767 [1]
Short Integer 32 bit -2.14e9 to 2.14e9
Long Integer 64 bit -9.22e18 to 9.22e18
Single Real 32 bit 1.18e-38 to 3.40e38
Double Real 64 bit 2.23e-308 to 1.79e308
extended Real 80 bit 3.37e-4932 to 1.18e4932
Packed BCD 80 bit -1e18 to 1e18
双精度数和扩展精度数表示范围对一般应用来说已经足够大了!

整数

以补码形式存储,正数的补码是其本身,负数补码是其绝对值的各位变反后加1,下面是实际存储的例子:
0024 var1 dw 24
FFFE var2 dw -2
000004D2 var3 dd 1234
FFFFFF85 var4 dd -123
0000000000002694var5 dq 9876

BCD数

在FPU中用80位表示正好是浮点寄存器的宽度,在其格式如下存储:
Bit
79___72_71________________________________________0
符号 ---18个二十进制数——————————---
看下面的例子:
00000000000000012345 var1 dt 12345
80000000000000000100 var2 dt -100

浮点数

这个复杂点,有三种格式
单精度:_31_30________23_22___________0
符号 指数 有效数。
双精度:_63_62__________52_51__________________0
符号 指数 有效数。
扩展精度数:
_79_78____________64_63___________________0
符号 指数 有效数。

部件

播报
编辑
FPU从功能上分为两个部分:控制单元运算单元,控制单元主要面向CPU,而算数单元负责具体算数运算.
FPU即浮点部件包括8个通用寄存器,5个错误指针寄存器和三个控制寄存器
1、8个通用寄存器每个80 bit,形成一个寄存器堆栈,所有的计算结果都保存在寄存器堆栈中,其中数据全部是80位的扩展精度格式,即使是BCD,整数,单精度和双精度等在装入寄存器的时候都要被FPU自动转化为80位的扩展精度格式,注意栈顶通常表示为ST(0),然后是ST(1)...ST(i),ST(i)是相对于栈顶而言的。
和堆栈很相似,只不过宽度为80bit,映像如下:
_______________________
| ST(0) |
|_______________________|
| ST(1) |
|_______________________|
| ...... |
| ...... |
| ST(i) |
|_______________________|
2、控制寄存器,FPU有三个控制寄存器:状态寄存器,控制寄存器和标记寄存器。
状态寄存器->SW
_M_____D________10___9____8___7_________5_________________________0__
| B | C3| TOP| C2 | C1 | C0 | ES | | PE | UE | OE | ZE | DE | IE |
|____|____|____|____|____|____|____|____|____|____|____|____|____|____|
B: 浮点部件正忙。
C0-C3 指示浮点运算的结果,不同指令有不同含义。
TOP 指示栈顶,通常是0。
ES 以下任何位置位 (pe,ue,oe,ze,de,or ie) 则置位。
PE 精度故障。
UE 数字太小无法表示溢出。
OE 现有精度无法表示,数字太大溢出。
ZE 除0错。
DE 指示至少有一个操作数未规格化。
IE 无效错误,指示堆栈上溢或下溢,无效操作数等。
_15____________10___9____8___7_________5______________________0__
| |IC | RC | PC | | PM | UM | OM | ZM | DM | IM |
|____|____|____|___|__|_|__|__|____|____|____|____|____|____|____|
IC 无穷大控制,对486,已经无效。
RC 舍入控制。
00 = 朝最接近或者偶数舍入。
01 = 朝负无穷大方向舍入。
10 = 朝正无穷大方向舍入。
11 = 超0方向截断。
PC 精度控制。
00 = 单精度。
01 = 保留。
10 = 双精度。
11 = 扩展精度。
PM~IM 屏蔽状态寄存器低5位指示的错误.为1则屏蔽。
标记寄存器
每2 bit表示一个对应 [2]堆栈寄存器的状态,具体含义如下:
15________________________________________3_____0
|Tag7 |...................................|tag1|
|_____|___________________________________|____|
含义:
00 = 有效。
01 = 零。
10 = 无效或无穷大。
11 = 为空。

格式

播报
编辑
单精度:_31_30________23_22___________0
符号 指数 有效数。
双精度:_63_62__________52_51__________________0
符号 指数 有效数。
扩展精度数: _79_78____________64_63___________________0
符号 指数 有效数。
例子:
C377999A var1 dd -247.6
40000000 var2 dd 2.0
486F4200 var3 real4 2.45e+5
4059100000000000 var4 dq 100.25
3F543BF727136A40 var5 real8 0.00123
C377999A var1 dd -247.6
40000000 var2 dd 2.0
486F4200 var3 real4 2.45e+5
4059100000000000 var4 dq 100.25
3F543BF727136A40 var5 real8 0.001235
400487F34D6A161E4F76 var6 real10 33.9876
DD和real4都可以在asm中来定义单精度浮点数,4 bytes
DQ和real8都可以在asm中来定义 [3]双精度浮点数,8 bytes
浮点运算
DT和real10都可以在asm中来定义扩展精度浮点数,10 bytes

指令系统分类

播报
编辑
浮点指令系统分为五类:数据传送类、算术运算类、超越函数类、比较类、环境及系统控制类
我并不想列出所有函数的参数以及用法,具体参考资料见文章最后。
1、数据传送类
这类指令主要是从内存装入浮点寄存器堆数据,一般目的地址总是栈顶ST(0),用调试器你可以清楚地看到这一点.注意带P结尾的操作,是在前面操作完成之后 [4]出栈,也就是原来ST(1)的内容成了ST(0)的内容,注意到这一点,你可以方便地设计出灵活多变的程序。
装入:
FLD Push real onto stack
FILD Convert two's complement integer to real and push
FBLD Convert BCD to real and push to stack
存储:
FST Store floating-point number from stack
FSTP Convert top of stack to integer
FIST
FISTP Convert top of stack to integer
FBSTP Store BCD to integer and pop stack
交换:
FXCH Exchange top two stack elements
常数装载:
FLD1 装入常数1.0
FLDZ 装入常数0.0
FLDPI 装入常数pi (=3.1415926....精度足够,放心使用)
FLDL2E 装入常数log(2)e
FLDL2T 装入常数log(2)10
FLDLG2 装入常数log(10)2
FLDLN2 装入常数Log(e)2
2、算术运算类
加法:
FADD/FADDP Add/add and pop
FIADD Integer add
减法:
FSUB/FSUBP Subtract/subtract and pop
FSUBR/FSUBRP Subtract/subtract and pop with reversed operands
FISUB Integer subtract
FISUBR Integer subtract/subtract with reversed operands
乘法:
FMUL/FMULP Multiply/multiply and pop
FIMUL Integer multiply
除法:
FDIV/FDIVP Divide/divide and pop
FIDIV Integer divide
FDIVR/FDIVRP Divide/divide and pop with reversed operands
FIDIVR integer divide with reversed operands
其他:
FABS Calculate absolute value
FCHS Change sign
FRNDINT Round to integer
FSQRT Calculate square root
FSCALE Scale top of stack by power of 2
FXTRACT Separate exponent and mantissa
FPREM Calculate partial remainder
FPREM1 Calculate partial remainder in IEEE format
如果指令后面未带 [5]操作数,其默认的操作数为ST(0)和ST(1),关于带R后缀的指令是正常操作数的顺序变反,比如fsub执行的是x-y,fsubr执行的就是y-x。
3、超越函数类
三角函数
FSIN Calculate sine
FCOS Calculate cosine
FSINCOS Calculate quick sine and cosine
FPTAN Calculate partial tangent
FPATAN Calculate partial arctangent
Log类
FYL2X Calculate y times log base 2 of x
FYL2XP1 Calculate y times log base 2 of (x+1)
F2XM1 Calculate (2^x)-1
4、比较类
FCOM Compare
FCOMP Compare and pop
FICOM Integer compare
FTST Integer compare and pop
FUCOM Unordered compare
FUCOMP Unordered compare and pop
FXAM Set condition code bits for value at top of stack
FSTSW Store status word
会根据结果设置,C0~C3,在上面并未就C0~C3进行具体介绍,C1是用来判断上溢或者下溢的,C0相当于EFLAGS里面的CF,作用也基本一致,C2相当于PF,C3相当于ZF,可能会看到如下指令:
FSTSW ax
SAHF
JZ label
为什么如此呢,因为用如上指令将状态字存入EFLAGS,C0正好置于CF位,C3正好置于ZF位.
5、环境及系统控制类
FLDCW Load control word
FSTCW Store control word
FSTSW Store status word
FLDENV Load environment block
FSTENV Store environment block
FSAVE Save coprocessor state
FRSTOR Restore coprocessor state
FINIT Initialize coprocessor
FCLEX Clear exception flags
FINCSTP Increment stack pointer
FDECSTP Decrement stack pointer
FFREE Mark element as free
FNOP No operation
FWAIT Wait until floating-point instruction complete

例子

播报
编辑
计算机里整数和小数形式就是按普通格式进行存储,例如1024、3.1415926等等,这个没什么特点,但是这样的数精度不高,表达也不够全面,为了能够有一种数的通用表示法,就发明了浮点数。
浮点数的表示形式有点像科学计数法(*.*****×10^***),它的表示形式是0.*****×10^***,在计算机中的形式为 .***** e ±***),其中前面的星号代表定点小数,也就是整数部分为0的纯小数,后面的指数部分是定点整数。利用这样的形式就能表示出任意一个整数和小数,例如1024就能表示成0.1024×10^4,也就是 .1024e+004,3.1415926就能表示成0.31415926×10^1,也就是 .31415926e+001,这就是浮点数。浮点数进行的运算就是浮点运算。
浮点运算比常规运算更复杂,因此计算机进行浮点运算速度要比进行常规运算慢得多。

其他

播报
编辑
浮点运算
另外, [6]浮点运算的常见形式是开方运算。目前所有的计算机使用的都是浮点运算,普通人的电脑也用的是浮点运算。
晋字五行属什么 肺有小结节要注意什么 神经损伤吃什么药 儿童c反应蛋白高说明什么 一国两制什么时候提出的
脚酸疼是什么原因引起的吗 沫字五行属什么 229什么星座 什么是半月板损伤 什么网名好
高回声是什么意思 频繁打嗝是什么原因 为什么抽筋 毛囊炎是什么样子 92年是什么年
椎间盘突出是什么意思 豆汁是什么 什么的葡萄 黑脸是什么意思 可吸收线是什么颜色
绿豆和什么食物相克0297y7.com 锁骨上的痣代表什么hcv9jop1ns8r.cn 胃酸吃点什么药inbungee.com 四川九寨沟什么时候去最好hcv9jop7ns4r.cn 一什么知什么hcv8jop8ns5r.cn
挂钟挂在客厅什么位置好hcv8jop2ns8r.cn 什么花在什么时间开hcv8jop5ns3r.cn 气血不足吃什么好食补hcv8jop7ns0r.cn 肾结石发作有什么症状hcv8jop1ns4r.cn 柏拉图之恋是什么意思hcv8jop6ns1r.cn
面肌痉挛是什么原因引起的hcv8jop0ns5r.cn 水钻是什么材质hcv8jop3ns2r.cn 冬眠的动物有什么hcv8jop1ns2r.cn 稽留热常见于什么病hcv8jop9ns9r.cn 囊性无回声是什么意思hcv8jop9ns3r.cn
什么叫阵雨hcv7jop9ns6r.cn 电影bd是什么意思weuuu.com 企鹅吃什么食物hcv8jop1ns5r.cn 小日子是什么意思hcv9jop4ns5r.cn 干咳嗽喉咙痒是什么原因jingluanji.com
百度