日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++输入输出进制、数据宽度与对齐、精度、取整

發布時間:2025/6/17 c/c++ 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++输入输出进制、数据宽度与对齐、精度、取整 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

轉載于:https://www.cnblogs.com/oversea201405/p/3766960.html

總結

以上是生活随笔為你收集整理的C++输入输出进制、数据宽度与对齐、精度、取整的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。