c语言中p-记数法是什么?

如题所述

C99 里16进制浮点数记数法。类似E,但不同。数以0x开头(数字0字母x),然后是16进制浮点数部分,接着是p,后面是以 2为底的阶码。

例如:0xb.1ep5 其中:

b.1e 是16进制浮点数, 乘后面的p5。p5 等于 2的5次方(10进制512)。

所以化成十进制:(11+1/16.0+14/256.0) * 512.0。

扩展资料:

循环结构:

循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供四种循环,即goto循环、while循环、do while循环和for循环

四种循环可以用来处理同一问题,一般情况下它们可以互相代替换,但一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误。

特别要注意在循环体内应包含趋于结束的语句(即循环变量值的改变),否则就可能成了一个死循环,这是初学者的一个常见错误。

三个循环的异同点:用while和do…while循环时,循环变量的初始化的操作应在循环体之前,而for循环一般在语句1中进行的。

while循环和for循环都是先判断表达式,后执行循环体,而do…while循环是先执行循环体后判断表达式,也就是说do…while的循环体最少被执行一次,而while循环和for就可能一次都不执行。

参考资料来源:百度百科-c语言

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
C99 里16进制浮点数记数法。类似E,但不同。数以0x开头(数字0字母x),然后是16进制浮点数部分,接着是p,后面是以 2为底的阶码。
例如:0xb.1ep5 其中
b.1e 是16进制浮点数, 乘后面的p5。p5 等于 2的5次方(10进制512)。
所以化成十进制:(11+1/16.0+14/256.0) * 512.0.
[注意,非C99编译器不支持p记数法]。追问

2的5次方等于32的吧?

追答

是的,你说得对,2的5次方等于32。
2的9次方等于512. p9 等于512。改p9 我就自圆其说了。抱歉。

p后面是以 2为底的阶码 这点 是对的。

本回答被提问者采纳
第2个回答  2013-01-24
用于double浮点数,把一个double浮点数用十六进制的p记数法表示出来。