1. 程式人生 > >c++中int與char相互轉換

c++中int與char相互轉換

一、ASCII表

瞭解int與char相互轉換之前,先讓我們看一下ASCII碼錶。

這裡寫圖片描述

其中數字字元對應的位置為:48 - 57。

二、char轉int

char轉int之前,先將運算式中的每個字元都轉換成ASCII碼值,再進行計算。
以下程式碼為例,其中i3的結果符合我們的預期要求。

char c = '0';

int i1 = c;                    // 48
int i2 = c - 0;                // 48
int i3 = c - '0';              // 0
int i4 = c + '0';              // 96

三、int轉char

int轉char之前,先將運算式中的每個字元都轉換成ASCII碼值,再進行計算。
計算出數值後,再據此轉換為字元(數值為該字元對應的ASCII碼值)。
以下程式碼為例,其中c3的結果符合我們的預期要求。

int i = 5;

char c1 = i;                  // 越界
char c2 = i - 0;              // 越界
char c3 = i - '0';            // 越界
char c4 = i + '0';            // 5

四、篇外

如果想要了解string、char[]、char*相互轉換,請檢視我的博文《C++中string、char *、char[]相互轉換》。
如果想要了解string與int型別的相互轉換,請檢視我的博文《int、string 型別相互轉換》

相關推薦

c++intchar相互轉換

一、ASCII表 瞭解int與char相互轉換之前,先讓我們看一下ASCII碼錶。 其中數字字元對應的位置為:48 - 57。 二、char轉int char轉int之前,先將運算式中的每個字元都轉換成ASCII碼值,再進行計算。 以下程式碼為例,其中i3的結

C++stringchar相互轉換

一、string轉char* 1.data()方法 string str = "hello"; const char* p = str.data(); //或char * p=(char*)str.data(); 2.c_str()方法 stri

javaintbyte相互轉換

基礎內容簡介      在做轉換之前先要明確幾個簡單的概念。首先本文是以java為語言,以int為例子。 long資料型別在原理上是一致的。      1  int 在java中是32位, byte是8位。      2  原碼,反碼,補碼簡介        

C++:int string相互轉換

1、string轉int的方式 採用最原始的string, 然後按照十進位制的特點進行算術運算得到int,但是這種方式太麻煩,這裡不介紹了。 採用標準庫中atoi函式。 string s = "12";  int a = atoi(s.c_str());

intchar相互轉換

一、int->char 在stdlib.h中有個函式itoa(),可以實現這個功能 itoa(i,num,10); i 需要轉換成字元的數字 num 轉換後儲存字元的變數 10 轉換數字的基數(進位制)10就是說按照10進位制轉換數字。還可以是2

C/C++字串數值相互轉換

第一種方法: 數字轉換成字串: #include <iostream> #include <sstream> #include <string> using namespace std; string num2str(double

C++】C++intstring的相互轉換

一、int轉string 1.c++11標準增加了全域性函式std::to_string: string to_string (int val); string to_string (long val); string to_string (long long val); string to_str

C++intstring的相互轉換

一、int轉string 1.c++11標準增加了全域性函式std::to_string: string to_string (int val); string to_string (long val); string to_string (long long val);

C語言字串數字相互轉換

在C/C++語言中沒有專門的字串變數,通常用字元陣列來存放字串。字串是以“\0”作為結束符。C/C++提供了豐富的字串處理函式,下面列出了幾個最常用的函式。   ● 字串輸出函式puts。   ● 字串輸出函式gets。   ●

jnibyte[]和char*相互轉換

id= (*env)->GetFieldID(env, objectClass, filedName, "[B"); jbyteArray dataArray=(jbyteArray)((*env)-> GetObjectField(env,object,id));

C#實體類XML相互轉換

1、實體類與XML相互轉換 將實體類轉換成XML需要使用XmlSerializer類的Serialize方法,將實體類序列化。 把XML轉換成相應的實體類,需要使用到XmlSerializer類的Deserialize方法,將XML進行反序列化。 建立XML序列化公共處理類(XmlS

MFCCString char*相互轉化

CString->char* CString str = _T("1234"); USES_CONVERSION; char* p = T2A(str.GetBuffer(0)); str.ReleaseBuffer(); char*->CString ch

c++字串數字的轉換

字串流類(sstream)用於string的轉換 <sstream>:相關標頭檔案 istringstream:字元輸入流 ostringstream:字元輸出流 使用方法: #inclu

C++數字字串的轉換

1、字串數字之間的轉換(1)string --> char *   string str("OK");   char * p = str.c_str();(2)char * -->string   char *p = "OK";   string str(p);

java陣列List相互轉換的方法

1.List轉換成為陣列。(這裡的List是實體是ArrayList)   呼叫ArrayList的toArray方法。   toArray   public <T> T[] toArray(T[] a)返回一個按照正確的順序包含此列表中所有元素的陣列;返回陣列

c# int和String互相轉換

1,int轉成string用toString 或者Convert.toString()如下 例如:int varInt = 1; string varString = Convert.ToString(varInt); string varString2 = varInt.

C++ 字串數字的轉換

數字轉字串1.sprintf_s函式 //sprintf函式 int a = 100; float b = 10.30; char str[10]; sprintf_s(str,"%d",a

C++string char *賦值

#include <iostream> #include <string> #pragma warning(disable:4996)//vs棄用strcpy int main

int string 相互轉換

int轉化為string <!>最簡單 用to_string int i = 111; string s = to_string(i); cout<<s<<endl; 1、使用itoa(int to string) 1 //

Javaint和Integer相互轉換

      Java是一種面嚮物件語言,為了能將基本型別視為物件來處理,並能連線相關的方法,Java為每個基本資料型別都提供了包裝類,這樣便可以把這些基本型別轉化為物件來處理。 基本資料型別及對應的包裝類 基本資料型別 包裝類 基本資料型別 包裝類 boolean Boo