cout<<setw(4)<<setfill('0')<<a<<endl;
////样例输出 a=41输出 0041

1、数的进制

[转载]未完的c++输入输出 默认进制:

默认状态下,数据按十进制输入输出。如果要求按八进制或十六进制输入输出,在cin或cout中必须指明相应的数据形式,oct为八进制,hex为十六进制,dec为十进制。

[转载]未完的c++输入输出 举例:

int i, j, k, l;

cout<<”Input i(oct), j(hex), k(hex), l(dec):”<<endl;

cin>>oct>>i; //输入为八进制数

cin>>hex>>j; //输入为十六进制数

cin>>k; //输入仍为十六进制数

cin>>dec>>l; //输入为十进制数

cout<<”hex:”<<”i=”<<hex<<i<<endl;

cout<<”dec:”<<”j=”<<dec<<j<<′t′<<”k=”<<k<<endl;

cout<<”oct:”<<”l=”<<oct<<l;

cout<<dec<<endl; //恢复十进制输出状态

【执行结果】:

(1)输出提示:Input i(oct), j(hex), k(hex), l(dec):

(2)此时从键盘输入: 032 0x3f 0xa0 17 <CR>

(3)输出结果为:

hex:i=1a

dec:j=63 k=160

oct:l=21

[转载]未完的c++输入输出 几点说明:

[转载]未完的c++输入输出 使用不带.h的头文件<iostream>时,必须在cin中指明数制,否则从键盘输入时,不认八进制和十六进制数开头的0和0x标志。指明后可省略0和0x标志。

[转载]未完的c++输入输出 进制控制只适用于整型变量,不适用于实型和字符型变量。

[转载]未完的c++输入输出 输入数据的格式、个数和类型必须与cin中的变量一一对应,否则不仅使输入数据错误,而且影响后面其他数据的正确输入。

[转载]未完的c++输入输出 在cin或cout中指明数制后,该数制将一直有效,直到重新指明使用其他数制。

◆  2、数据间隔与对齐

[转载]未完的c++输入输出 常用设置方法:输出空格符或回车换行符。

[转载]未完的c++输入输出 指定数据输出宽度:用C++提供的函数setw()指定输出数据项的宽度。setw()括号中通常给出一个正整数值,用于限定紧跟其后的一个数据项的输出宽度。如:setw(8)表示紧跟其后的数据项的输出占8个字符宽度。

[转载]未完的c++输入输出 举例:

int i=2, j=3;

float x=2.6, y=1.8;

cout<<setw(6)<<i<<setw(10)<<j<<endl;

cout<<setw(10)<<i*j<<endl;

cout<<setw(8)<<x<<setw(8)<<y<<endl;

cout<<setiosflags(ios::left)<<setw(10)<<i*j<<endl; //左对齐

则输出结果为:

     2         3

         6

     2.6     1.8

[转载]未完的c++输入输出 说明:

[转载]未完的c++输入输出 如果数据的实际宽度小于指定宽度,按右对齐的方式在左边留空,如果数据的实际宽度大于指定宽度,则按实际宽度输出,即指定宽度失效。

[转载]未完的c++输入输出 setw()只能限定紧随其后的一个数据项,输出后即回到默认输出方式。

[转载]未完的c++输入输出 使用setw()必须在程序开头再增加一句: #include<iomanip>

//setiosflags(ios::right)  右对齐 默认

//setiosflags(ios::left)   左对齐

 

3、数的精度控制

   #include   <iostream>  

  #include   <iomanip>  

  using   namespace   std;  

   

  int   main(void)  

  {      

  double   pi   =   3.1415926535897932384;  

  double   b   =   3.1415926535897932384;  

  cout<<setprecision(5)<<b<<endl        //5位有效数字

   <<fixed<<setprecision(5)<<pi<<endl;  //小数点后5位

  }

//保留精度时按四舍五入原则

 

   4、浮点数的取整

       C/C++取整函数ceil(),floor()

       double floor(double x);

       double ceil(double x);





       使用floor函数。floor(x)返回的是小于或等于x的最大整数。

       如:     floor(10.5) == 10    floor(-10.5) == -11





       使用ceil函数。ceil(x)返回的是大于x的最小整数。

       如:     ceil(10.5) == 11    ceil(-10.5) ==-10

   

       floor()是向负无穷大舍入,floor(-10.5) == -11;

       ceil()是向正无穷大舍入,ceil(-10.5) == -10

C++输入输出进制、数据宽度与对齐、精度、取整的更多相关文章

  1. PHP 通过Socket收发16进制数据

    最近在php下做关于Socket通讯的相关内容,发现网络上好多人在了解如何进行16进制收发,研究了下,代码如下,欢迎拍砖. <?php        $sendStr = '30 32 30 3 ...

  2. android 蓝牙编程重点---如何发送和接收16进制数据

    最近的android蓝牙开发项目也逐渐接近尾声,基本的功能都已经完成,只剩下界面的设计.现在真的是舒了一口气! 作为编程学习经验只有1年的菜鸟,这是我独自完成的商业性产品,而且还是涉及到与单片机蓝牙模 ...

  3. python2/3中 将base64数据写成图片,并将图片数据转为16进制数据的方法、bytes/string的区别

    1.python2将base64数据写成图片,并将数据转为16进制字符串的方法 import binascii img = u'R0lGODlhagAeAIcAAAAAAAAARAAAiAAAzABE ...

  4. c/c++学习系列之取整函数,数据宽度与对齐

    浮点数的取整 C/C++取整函数ceil(),floor() double floor(double x); double ceil(double x); 使用floor函数.floor(x)返回的是 ...

  5. MFC 编辑框输入16进制字符串转换为16进制数或者10进制数据计算

    1.编辑框添加变量,并选择变量类型为CString. 2.  使用“_tcstoul”函数将Cstring 类型转换为16进制/10进制数进行计算.

  6. JS吧数字转成2进制 8进制16进制数据

    ; number.toString(); //转成2进制 number.toString();//转成8进制 number.toString();//转成10进制 number.toString(); ...

  7. 接口返回buffer的16进制数据如何转换

    我们请求接口数据经常会看到buffer数据,这是我们可以使用data.toString()就可以啦~

  8. c# serialport读取不限数量的16进制数据

    //private char[] HexChar = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', ' ...

  9. Flex接收51单片机发送过来的16进制数据转换为String

    private static function toHex(bytes:ByteArray):String{ var pos:int =bytes.position; bytes.position=0 ...

随机推荐

  1. hdu 4291 A Short problem(矩阵+取模循环节)

    A Short problem                                                          Time Limit: 2000/1000 MS (J ...

  2. 【MongoDB】The description of index(一)

    From this blog, we start to talk about the index in mongo Database, which is similar to the traditio ...

  3. Nginx 负载均衡-加权轮询策略剖析

    本文介绍的是客户端请求在多个后端服务器之间的均衡,注意与客户端请求在多个nginx进程之间的均衡相区别(Nginx根据每个工作进程的当前压力调整它们获取监听套接口的几率,那些当前比较空闲的工作进程有更 ...

  4. Cocos2dx3.4 VS2013无法打开包括文件extensions/ExtensionExport.h解决的方法

    本来打算看白鹭引擎的.可是又被叫回来研究新引擎呢,不搞不知道,一搞发现cocos2dx新版本号3.4又有了一些变化. 我查了网上的资源,都没有解决的方法.我如今应该是第一个出这个问题的解决的方法哦.. ...

  5. JSP路径出现故障

    1.错误叙述性说明 2.错误原因 <%@ page language="java" import="java.util.*" pageEncoding=& ...

  6. 全然符合package.json在CommonJS中的规范

    众所周知,package.json是CommonJS规定的用来描写叙述包的文件,全然符合规范的package.json文件应该含有一下字段. name:包的名称,必须是唯一的.由小写英文字母.数字和下 ...

  7. 怎样在Linux下通过ldapsearch查询活动文件夹的内容

    从Win2000開始.微软抛弃NT域而採用活动文件夹来管理Windows域.而活动文件夹就是微软基于遵守LDAP协议的文件夹服务.假设用扫描器扫描的话能够发现活动文件夹的389port是打开的.并且微 ...

  8. F5 root密码恢复

    使用串口线缆链接F5的串口和PC相连接,调节串口的波特率为12000,重启F5 后在启动菜单上和linux 单用户模式一样操作即可.

  9. zabbix监控nginx连接状态(转)

    zabbix监控nginx zabbix可以监控nginx的状态,关于一个服务的状态可以查看服务本身的状态(版本号.是否开启),还应该关注服务能力(例如以nginx的负载效果:连接数.请求数和句柄数) ...

  10. Linking Containers Together

    Linking Containers Together In the Using Docker section we touched on connecting to a service runnin ...