C中char型別如何轉化short

2021-09-25 03:13:51 字數 3356 閱讀 3541

1樓:一口沒水的枯井

1 在c/c++中char型別可以轉換為short型別通過型別的隱式轉換

2 一個示例來驗證

#include

int main()

3 執行結果

2樓:金色潛鳥

char 型別 就是 1位元組 整型。

轉化short 可以用 強制轉化,也可以直接 賦給 short int.

char 型 資料存放的內容,可解釋為 有符號 char 和 無符號 unsigned char。轉化時,要注意,你想處理成有符號或無符號數。

例如:main()

輸出:-128 128 -128 128

3樓:匿名使用者

c++裡有兩種基本資料型別: 整形和浮點

整形數按精度由低到高分為:

char

wchar_t

short

intlong

long long

浮點按精度由低到高分為:

float

double

long double

上面有些沒列出來。

記住: 1.同種基本資料型別有低精度想高精度轉換是自動完成的,不需要什麼特殊的語法。

2.由整形向浮點型別轉換是自動完成的。

3.其他的轉換需要強制轉換。

所以你的問題:

char ch ='a';

short s = ch;

這樣就可以了, 不用寫什麼(short)ch或者 static_cast(ch).

強制型別轉換的語法:

c語言版本: (目標型別)被轉換實體

例:double d = 34.3;

int i = (double)d;

c++建構函式轉換語法: 目標型別(被轉換實體)例:double d = 34.3;

int i = int(d);

c++其他轉換:

可用static_cast 、 reinterpret_cast 、 safe_cast 進行轉換

關於型別轉換還有許多東西沒說,你自己去找資料!

4樓:匿名使用者

c++中建議你用staic_cast,比強制轉換好多啦即,char c;

short s;

s=static_cast(c);

5樓:

char c;

short s;

s=(short)c;

c++中char型別變數如何轉換成int型別變數?

6樓:

在ascii碼中數字'0'-'9'的編碼是48 - 57,所以你減一個'0',或者減一個48都可以。

7樓:匿名使用者

從 char 到 int 屬於「從短到長」的轉換,而從 int 到 char 則為「從長到短」的轉換。

短到長時,系統會自動提升,會將1個位元組的char型別資料擴充到4個位元組(32位系統),對於無符號型別來說,只將int的最低位元組複製為char的值,其餘三個位元組都為0。

長到短時,只將int的最低位元組的內容複製到char型別的變數,三個高位位元組被忽略,這在編譯時會給出警告,但通過強制型別轉換則可以避免警告出現,如 char ch = (char)intvar。

8樓:匿名使用者

char str_tmp;

int int_tmp;

str_tmp='5';

int_tmp=(int)(str_tmp - '0');

cout<

9樓:

用函式斯stoi()就行。

int_tmp=stoi(str_tmp);

10樓:百度使用者

int_tmp=str_tmp-48;

11樓:匿名使用者

int atoi( const char *string );

在c++中char型別的陣列裡邊裝的是數字,如何轉換為int型別?

12樓:會飛的小兔子

cha和rint陣列轉換,例:

inti[2]=

charc[2]=

兩者轉換**:

inta[2]=;

charc[2];

for(inti=0;i<2;i++)c[i]=a[i];

int是將一個數值向下取整為最接近的整數的函式,為取整函式。

擴充套件資料char*、string、cstring這三種字串型別各有各的優點,比如cstring比較靈活,是基於mfc常用的型別,安全性也最高,但可移植性最差。string是使用stl時必不可少的型別,所以是做工程時必須熟練掌握的;char*是從學習c語言開始就已經和我們形影不離的了,有許多api都是以char*作為引數輸入的。

char*型別:是字元指標,在一定條件下等同於字元陣列,如果字元陣列的最後元素是"\0",則是一個c風格的字串。

13樓:匿名使用者

在標頭檔案中新增

#include

#include

void main()

{char *s;

int n;

s="1234";

n=atoi(s);

cout<:1234

標頭檔案中新增#include

用 x=atof(s)可轉化為double型,用(float)x可轉為float型

14樓:匿名使用者

#include

void main()

//用int()也可以換的方便

15樓:匿名使用者

char str="10";

int num=strtol(str,null,10);

其中,把10換成16可以

獲得16進位制數(即num=16),換成其他數字,可以獲得其他進位制的數(如換成8的話,n=8)

16樓:匿名使用者

#include

#include

#include

using namespace std;

template

t lexical_cast(u u)

int main()

17樓:匿名使用者

char dd[n];//設陣列的長度是nint ee[n];

for(int i=0;i

C的語法無法型別int轉換為char

不太懂你這 是幹嘛的?至於你所說的錯誤是 code char number convert.tochar number 10 這句 相加的時候 char number 和 convert.tochar number 10 會隱式轉換為int型的在相加,也就是說char型別的變數不能相加,相加時都會隱...

excel中char型別是什麼意思

是指excel中 vba程式語言中的字元型別。c語言的字元型別也是用char 返回 數字指定的字元 比如 char 48 0 char 49 1 char 50 2 char 51 3 char 52 4 char 53 5 char 54 6 char 55 7 char 56 8 char 57...

C 中怎樣把CHAR轉成int或者long型別

先說明一來下 在 c 裡把其它型別轉換源成字串時最好是用純 c 的機制 stringstream 類。include include using namespace std void main stringstream 的 str 方法返回 string string 的 c str 方法則返回 c...