12.2C++

1,float 精度为七位有效数字,指第一位非零数字开始,往后数7位都是精确的,第八位是四舍五入的约数

2,小数转二进制

13.625

13 -> 1101

倒除法:

.625 -> .101

0.625 * 2 = 1.25    取整 1 ,剩下0.25

0.25 * 2 = 0.5   取整 0 , 剩下0.5

0.5 * 2 = 1 取整 1 ,剩下0

按顺序得到 101(直到小数部分为0)

13.625 => 1101.101

1101.101  小数点向左移动3位 =>  1.101101

(要求移动到整数部分只有1位)

所以,阶码 = 3 + 127 = 130

二进制形式为:10000010

移位后的小数部分是 .101101

尾数存储二进制的101101

实际存储为:0 10000010  101101 000000一位符号位,八位阶码,尾数后面补0

3,小数点尾数控制

#include<iostream>
#include<Windows.h>

using namespace std;

int main(void){
	double value = 12.3456789;

	// 默认精度是6,所以输出为 12.3457 
//(默认情况下,精度是指总的有效数字)
	cout << value << endl; 

	// 把精度修改为4, 输出12.35, 对最后一位四舍五入
	// 精度修改后,持续有效,直到精度再次被修改
	cout.precision(4);
	cout << value << endl;

	// 使用定点法, 精度变成小数点后面的位数
    // 输出12.3457
	cout.flags(cout.fixed); 
	cout  << value << endl;

	// 定点法持续有效
    // 输出3.1416
	cout << 3.1415926535 << endl;

	// 把精度恢复成有效数字位数
	cout.unsetf(cout.fixed);
	cout  << value << endl;          //输出12.35
	cout << 3.1415926535 << endl;  //输出3.142

	system("pause");
	return 0;
}

4.c++输入

只有当输入缓冲区为空的时候,程序才停下来等待输入,用户敲键盘之后必须按Enter键才能放到输入缓冲区,然后cin再去读取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值